Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ZappaでDBもパッケージしたサーバーレスAPIを構築してみた
Search
Yasunori Kirimoto
May 11, 2019
Technology
0
470
ZappaでDBもパッケージしたサーバーレスAPIを構築してみた
PyCon mini Sapporo 2019 発表資料
Yasunori Kirimoto
May 11, 2019
Tweet
Share
More Decks by Yasunori Kirimoto
See All by Yasunori Kirimoto
FOSS4Gで実現するQGIS版Amazon Location Service Plugin
dayjournal
0
98
State of Open Source Web Mapping Libraries
dayjournal
0
430
AWS Heroes Map 秘伝のレシピ
dayjournal
2
220
State of Amazon Location Service
dayjournal
0
280
State of Amazon Location Service
dayjournal
1
490
MapLibreとAmazon Location Service
dayjournal
1
590
AWS re:Invent 2023 現地での体験
dayjournal
1
960
英語が苦手でも世界にアウトプットしている話
dayjournal
3
1.8k
FOSS4GとAmazon Location Serviceの親和性
dayjournal
0
810
Other Decks in Technology
See All in Technology
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
320
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
560
脳波を用いた嗜好マッチングシステム
hokkey621
0
280
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
1
180
CDKでカスタムランタイムを作成して、Lambdaをnode.js23+TypeScriptで動かしてみた
smt7174
2
110
AIエージェント元年
shukob
0
150
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
210
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
210
Share my, our lessons from the road to re:Invent
naospon
0
140
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
110
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
190
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Building Adaptive Systems
keathley
40
2.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Thoughts on Productivity
jonyablonski
69
4.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
We Have a Design System, Now What?
morganepeng
51
7.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Transcript
ZappaでDBもパッケージした サーバーレスAPIを構築してみた Yasunori Kirimoto 2019.05.11 PyCon mini Sapporo 2019
GIS engineer, Web engineer dayjournal : Self-employed Yasunori Kirimoto MIERUNE
Inc. : Co-founder
技術書典6で本だしました
Contents はじめに 環境構築 API開発 デプロイ 実装例
Introduction はじめに
Zappaを知っている方いますか
Zappaとは、AWSのLambdaやAPI Gateway等の サービスを利用し、Webアプリケーションを手軽に 構築できるPythonのサーバーレスフレームワーク
住所検索API
CHAPTER01 環境構築
: Pythonの仮想環境構築ツール pyenv virtualenv AWS CLI 事前準備 インストール & 設定
: Pythonのバージョン切り替えツール : AWSのコマンドラインツール
仮想環境構築
パッケージインストール
パッケージインストール
パッケージインストール
CHAPTER02 API開発
: API用のPythonファイル db.sqlite app.py API配信用ファイル一覧 : 住所検索用のSQLiteファイル
db.sqlite ・DBもパッケージしたAPIを構築するためSQLiteを利用 ・国土地理院の「住居表示住所」データを利用 ※ 電子国土基本図(地名情報)「住居表示住所」データを利用するためには、 国土地理院へ利用申請が必要です。
app.py
app.py
ローカル環境確認
ローカル環境確認
CHAPTER03 デプロイ
デプロイ環境構築
zappa_settings.json
デプロイ
デプロイ
デプロイ
デプロイ Lambda
デプロイ API Gateway
削除 & 更新 & ログ
その他設定
CHAPTER04 実装例
を利用した位置情報の可視化 フロントエンドとの連携 Angular を利用したリスト表示
Angularを利用したリスト表示
None
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
build dev
を利用した位置情報の可視化
Maptiles by MIERUNE, under CC BY. Data by OpenStreetMap contributors,
under ODbL.
事前準備 インストール & 設定 mapboxgljs-starter https://github.com/dayjournal/mapboxgljs-starter Install package
変更ファイル一覧
/_resouce/js/script.js
/_resouce/js/script.js
/_resouce/js/script.js
build dev
Conclusion まとめ
・Zappaで手軽にサーバーレスが可能 ・オプション以上の設定は別の方法を検討 ・DBのパッケージも可能(容量制限250MB) ・地図の可視化にも利用可能
@dayjournal_nori ありがとうございました!