Milkcocoa というBaaS がある.
Cloocaでいつもお世話になっている, Technical Rockstarsさんのサービスです.簡単にデータをストアできるサービスなのです.
Python のSDKもあるのです.
開発スピードがとても速く,Javascript意外にも様々なSDKを提供してくれています.その中からPythonのSDKを使ってみようと思います.
環境構築
手元の環境で作っていきます.Ubuntu14.04で試しています.
Virtualenvで環境作り
$ mkdir mlkcca && cd mlkcca $ virtualenv python27
mlkcca ディレクトリを作成し,そこにpython27という名称で仮想環境を作ります.
SDKをダウンロード
$ git clone https://github.com/milk-cocoa/python_sdk.git
githubから最新コードをダウンロードします.
ソースのパスを通します.
環境に python_sdk/src のパスを通して,利用できるようにします.
$ echo 'フルパス/mlkcca/python_sdk/src' >> ~/develop/mlkcca/python27/lib/python2.7/site-packages/mlkcca.pth
site-packages ディレクトリに pth ファイルを置きます.
SDKのインポート確認
(python27)$ python >>> import milkcocoa >>> milkcocoa.__version__ '1.0'
インストールできました.
Milkcocoaへデータの登録
MilkcocoaのWebサイトで,Appをtk1という名称で作成をしました.また,API Key認証をするためにキーを一つ発行してあります.milkcocoaの設定とかはQiitaとかを参照してください.
どこにでも有るネタですが,RSSを読み込んでmilkcocoaへ登録したいと思います.
feedparser インストール
(python27)$ pip install feedparser
pip でインストールします.
プログラム
ファイル名を read_rss.py として, 以下のように書きました.
# encoding: utf-8
from argparse import ArgumentParser
import feedparser
from milkcocoa import milkcocoa as mlkcca
def get_rss(url):
"""
RSS取得
:param str url: RSSのURL
:return: RSSの辞書オブジェクト
:rtype: dict
"""
return feedparser.parse(url)
def add_record(url, link, title):
"""
milkcocoaへデータの登録
:param str url: RSSのURL
:paran str link: 記事のアドレス
:param unicode title: 記事のタイトル
"""
mlk_cnt = mlkcca.Milkcocoa.connectWithApiKey('{app_id}', '{API Key}', '{API Secret}', useSSL=False)
rss_ds = mlk_cnt.datastore(u'rss')
rss_ds.push(dict(url=url, link=link, title=title))
if __name__ == '__main__':
parser = ArgumentParser(description='Add RSS to the Milkcocoa Datastore')
parser.add_argument('-i', '--rss_url',
type=str, required=True,
help=u'RSS URL')
args = parser.parse_args()
url = args.rss_url
result = get_rss(url)
for entry in result.entries:
link = entry.link
title = entry.title
add_record(url, link, title)
print('Done')
このスクリプトは,-i オプションでRSSを取得したいアドレスを指定します.
始めに get_rss 関数でfeedparserにアドレスを渡しRSSデータの取得をします.次に,結果のentriesのリストをループさせ,link, titleを読み出し, add_record 関数にてMilkcocoaのデータストア: rss へレコードの登録をしています.
実行
(python27)$ python read_rss.py -i http://www.nihonkiin.or.jp/news/atom.xml Connected with result code 0 Connected with result code 0 Connected with result code 0 Connected with result code 0 Done
Done を確認. Connected with result code 0 は,MQTTのライブラリが出力しているみたいです.
登録の確認
MilkcocoaのDashboardへアクセスして確認してみます.
- Dashboard > データストア へ進むと.
レコードが4件登録されてました.
おわりに
このように簡単にデータを登録できることが確認できました.以上,Python SDKの紹介でした.
