AWSメモ >

Chaliceで外部ライブラリを利用する

フォルダ構成

┗ app.py
┗ chalicelib ... 自作ライブラリの格納先
┗ vendor ... サードパーティのライブラリの格納先

http://chalice.readthedocs.io/en/latest/topics/packaging.html?highlight=directories

プロジェクトの作成

chalice new-project test-libs
cd test-libs
mkdir chalicelib
mkdir vendor

外部ライブラリの追加

vendor 配下に WHL形式(PEP-427)でインストールする

cd vendor
pip download pyyaml
pip wheel PyYAML-3.12.tar.gz
rm -rf PyYAML-3.12.tar.gz && cd ../

自作ライブラリの追加

chalicelib/utils.py

# coding: utf-8
"""ユーティリティモジュール"""

import yaml

def parse_yaml(yaml_text):
  """yaml文字列をdict型にパースする"""

  return yaml.load(yaml_text)

メイン処理の作成

app.py

from chalice import Chalice
from chalicelib import utils

app = Chalice(app_name='test-libs')

@app.route('/')
def index():

  with open("test.yaml", "r") as f:
    print ("yaml read")
    yaml_text = f.read();
    yaml_dict = utils.parse_yaml(yaml_text)
    if "title" in yaml_dict:
      return { 'title': yaml_dict["title"] }
  
  return { 'message': 'error!' }

テスト用のYAMLを作成

test.yaml

title: Test Title
desc: Test Desc

ローカルサーバ実行

chalice local

動作確認

curl http://localhost:8000

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-02-24 (土) 23:10:58 (2475d)