PyCon mini Sapporo 2019 発表資料
ZappaでDBもパッケージしたサーバーレスAPIを構築してみたYasunori Kirimoto2019.05.11PyCon mini Sapporo 2019
View Slide
GIS engineer, Web engineerdayjournal : Self-employedYasunori KirimotoMIERUNE Inc. : Co-founder
技術書典6で本だしました
Contentsはじめに環境構築API開発デプロイ実装例
Introductionはじめに
Zappaを知っている方いますか
Zappaとは、AWSのLambdaやAPI Gateway等のサービスを利用し、Webアプリケーションを手軽に構築できるPythonのサーバーレスフレームワーク
住所検索API
CHAPTER01環境構築
: Pythonの仮想環境構築ツールpyenvvirtualenvAWS CLI事前準備 インストール & 設定: Pythonのバージョン切り替えツール: AWSのコマンドラインツール
仮想環境構築
パッケージインストール
CHAPTER02API開発
: API用のPythonファイルdb.sqliteapp.pyAPI配信用ファイル一覧: 住所検索用のSQLiteファイル
db.sqlite・DBもパッケージしたAPIを構築するためSQLiteを利用・国土地理院の「住居表示住所」データを利用※ 電子国土基本図(地名情報)「住居表示住所」データを利用するためには、国土地理院へ利用申請が必要です。
app.py
ローカル環境確認
CHAPTER03デプロイ
デプロイ環境構築
zappa_settings.json
デプロイ
デプロイLambda
デプロイAPI Gateway
削除 & 更新 & ログ
その他設定
CHAPTER04実装例
を利用した位置情報の可視化フロントエンドとの連携Angular を利用したリスト表示
Angularを利用したリスト表示
Angular CLI & 環境設定・Angular v7.2.0・Angular Material v7.3.7・TypeScript v3.2.2事前準備 インストール & 設定
変更ファイル一覧
/src/app/app.module.ts
/src/environments/environment.ts/src/environments/environment.prod.ts
/src/app/service/config.service.ts
/src/app/app.component.ts
/src/app/app.component.html
builddev
を利用した位置情報の可視化
Maptiles by MIERUNE, under CC BY. Data by OpenStreetMap contributors, under ODbL.
事前準備 インストール & 設定mapboxgljs-starterhttps://github.com/dayjournal/mapboxgljs-starterInstall package
/_resouce/js/script.js
Conclusionまとめ
・Zappaで手軽にサーバーレスが可能・オプション以上の設定は別の方法を検討・DBのパッケージも可能(容量制限250MB)・地図の可視化にも利用可能
@dayjournal_noriありがとうございました!