pykintone on Docker

[pykintone on Windows Subsystem for Linux](http://qiita.com/rex0220/items/da3e74688e5fdbca70f0)　がうまくいったので、次に pykintone を Docker で試してみた。

pykintone: kintone 用 Python ライブラリ

pip で pykintone をインストールするだけで使用できる。とても簡単。

pykintone 使用環境の準備

- Docker python のpull
- pykintone のインストール

# Docker pull python
最新の Docker python を用意します。pull するだけのなので簡単。

```
> docker pull python
Using default tag: latest
latest: Pulling from library/python
5040bd298390: Pull complete
fce5728aad85: Pull complete
76610ec20bf5: Pull complete
52f3db4b5710: Pull complete
45b2a7e03e44: Pull complete
75ef15b2048b: Pull complete
e41da2f0bac3: Pull complete
Digest: sha256:cba517218b4342514e000557e6e9100018f980cda866420ff61bfa9628ced1dc
Status: Downloaded newer image for python:latest
``` 

# Docker Python 環境

下記が標準でインストールされている。
python3 がデフォルトで、pip も用意されています。

python : python3.6
python3 : python3.6

pip : pip
pip3 : pip3
pip3.6 : pip3.6


```
:/# python -V
Python 3.6.0

:/# which python
/usr/local/bin/python

:/# ls -la /usr/local/bin/python*
lrwxrwxrwx 1 root staff     7 Jan 18 02:52 /usr/local/bin/python -> python3
lrwxrwxrwx 1 root staff    14 Jan 18 02:52 /usr/local/bin/python-config -> python3-config
lrwxrwxrwx 1 root staff     9 Jan 18 02:52 /usr/local/bin/python3 -> python3.6
lrwxrwxrwx 1 root staff    16 Jan 18 02:52 /usr/local/bin/python3-config -> python3.6-config
-rwxr-xr-x 2 root staff 14312 Jan 18 02:52 /usr/local/bin/python3.6
lrwxrwxrwx 1 root staff    17 Jan 18 02:52 /usr/local/bin/python3.6-config -> python3.6m-config
-rwxr-xr-x 2 root staff 14312 Jan 18 02:52 /usr/local/bin/python3.6m
-rwxr-xr-x 1 root staff  3089 Jan 18 02:52 /usr/local/bin/python3.6m-config
root@b648d7a985a6:/# ls -la /usr/local/bin/pip*
-rwxr-xr-x 1 root staff 214 Jan 18 02:52 /usr/local/bin/pip
-rwxr-xr-x 1 root staff 214 Jan 18 02:52 /usr/local/bin/pip3
-rwxr-xr-x 1 root staff 214 Jan 18 02:52 /usr/local/bin/pip3.6

:/# which pip
/usr/local/bin/pip

:/var/work# ls -la /usr/local/bin/pip*
-rwxr-xr-x 1 root staff 214 Jan 18 02:52 /usr/local/bin/pip
-rwxr-xr-x 1 root staff 214 Jan 18 02:52 /usr/local/bin/pip3
-rwxr-xr-x 1 root staff 214 Jan 18 02:52 /usr/local/bin/pip3.6
```

# pykintone のインストール
pip で、インストールするだけです。


```
# pip install pykintone
Collecting pykintone
  Downloading pykintone-0.3.9.zip
Collecting PyYAML (from pykintone)
  Downloading PyYAML-3.12.tar.gz (253kB)
    100% |████████████████████████████████| 256kB 1.6MB/s
Collecting requests (from pykintone)
  Downloading requests-2.13.0-py2.py3-none-any.whl (584kB)
    100% |████████████████████████████████| 593kB 1.6MB/s
Collecting pytz (from pykintone)
  Downloading pytz-2016.10-py2.py3-none-any.whl (483kB)
    100% |████████████████████████████████| 491kB 1.9MB/s
Collecting tzlocal (from pykintone)
  Downloading tzlocal-1.3.tar.gz
Installing collected packages: PyYAML, requests, pytz, tzlocal, pykintone
  Running setup.py install for PyYAML ... done
  Running setup.py install for tzlocal ... done
  Running setup.py install for pykintone ... done
Successfully installed PyYAML-3.12 pykintone-0.3.9 pytz-2016.10 requests-2.13.0 tzlocal-1.3
```

# レコード取得スクリプト作成

サンプルに従い、レコード取得スクリプト作成。
[pykintone on Windows Subsystem for Linux](http://qiita.com/rex0220/items/da3e74688e5fdbca70f0) で作成したものと同じです。

```getRec1.py

import pykintone
r = pykintone.app("kintoneドメイン", "APPID", "APIトークン").select("")
if r.ok:
        records = r.records
        print(records)
else:
        print(r.error)
```

# レコード取得スクリプト実行

レコードが取得され、標準出力に表示された。

```
python getRec1.py
[{'作成者': {'value': {'name': 'Alex2013', 'code': 'Alex2013'}, 'type': 'CREATOR'}, '文字列A': {'value': 'B02A', 'type': 'SINGLE_LINE_TEXT'}, '作成日時': {'value': '2017-01-26T15:47:00Z', 'type': 'CREATED_TIME'}, '文字列B': {'value': 'B02B', 'type': 'SINGLE_LINE_TEXT'}, '文字列2_3': {'value': 'B02C', 'type': 'SINGLE_LINE_TEXT'}, '更新者': {'value': {'name': 'Alex2013', 'code': 'Alex2013'}, 'type': 'MODIFIER'}, '文字列2_2': {'value': 'B02B', 'type': 'SINGLE_LINE_TEXT'}, 'レコード番号': {'value': '2', 'type': 'RECORD_NUMBER'}, '文字列1_1': {'value': 'A02A', 'type': 'SINGLE_LINE_TEXT'}, '更新日時': {'value': '2017-01-26T23:49:00Z', 'type': 'UPDATED_TIME'}, 'ルックアップA': {'value': 'A02', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_3': {'value': 'A02C', 'type': 'SINGLE_LINE_TEXT'}, 'ID': {'value': 'ｊｊ', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_4': {'value': 'A02D', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_2': {'value': 'A02B', 'type': 'SINGLE_LINE_TEXT'}, '$revision': {'value': '4', 'type': '__REVISION__'}, '文字列2_4': {'value': 'B02', 'type': 'SINGLE_LINE_TEXT'}, '$id': {'value': '2', 'type': '__ID__'}, '文字列C': {'value': 'B02C', 'type': 'SINGLE_LINE_TEXT'}, '文字列2_1': {'value': 'B02A', 'type': 'SINGLE_LINE_TEXT'}, 'ルックアップB': {'value': 'B02', 'type': 'SINGLE_LINE_TEXT'}, '文字列D': {'value': 'B02', 'type': 'SINGLE_LINE_TEXT'}}, {'作成者': {'value': {'name': 'Alex2013', 'code': 'Alex2013'}, 'type': 'CREATOR'}, '文字列A': {'value': 'B01A', 'type': 'SINGLE_LINE_TEXT'}, '作成日時': {'value': '2017-01-26T12:06:00Z', 'type': 'CREATED_TIME'}, '文字列B': {'value': 'B01B', 'type': 'SINGLE_LINE_TEXT'}, '文字列2_3': {'value': 'B01C', 'type': 'SINGLE_LINE_TEXT'}, '更新者': {'value': {'name': 'Alex2013', 'code': 'Alex2013'}, 'type': 'MODIFIER'}, '文字列2_2': {'value': 'B01B', 'type': 'SINGLE_LINE_TEXT'}, 'レコード番号': {'value': '1', 'type': 'RECORD_NUMBER'}, '文字列1_1': {'value': 'A01A', 'type': 'SINGLE_LINE_TEXT'}, '更新日時': {'value': '2017-01-26T12:06:00Z', 'type': 'UPDATED_TIME'}, 'ルックアップA': {'value': 'A01', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_3': {'value': 'A01C', 'type': 'SINGLE_LINE_TEXT'}, 'ID': {'value': 'C01', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_4': {'value': 'A01D', 'type': 'SINGLE_LINE_TEXT'}, '文字列1_2': {'value': 'A01B', 'type': 'SINGLE_LINE_TEXT'}, '$revision': {'value': '1', 'type': '__REVISION__'}, '文字列2_4': {'value': 'B01D', 'type': 'SINGLE_LINE_TEXT'}, '$id': {'value': '1', 'type': '__ID__'}, '文字列C': {'value': 'B01C', 'type': 'SINGLE_LINE_TEXT'}, '文字列2_1': {'value': 'B01A', 'type': 'SINGLE_LINE_TEXT'}, 'ルックアップB': {'value': 'B01', 'type': 'SINGLE_LINE_TEXT'}, '文字列D': {'value': 'B01D', 'type': 'SINGLE_LINE_TEXT'}}]
```