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の紹介でした.