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
88
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
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
830
The Future of SEO: The Impact of AI on Search
badams
0
240
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
150
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
1
1.5k
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
200
偏光画像処理ライブラリを作った話
elerac
1
120
分解して理解する Aspire
nenonaninu
2
490
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
140
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
9
1.6k
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
1.2k
脳波を用いた嗜好マッチングシステム
hokkey621
0
160
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
150
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Side Projects
sachag
452
42k
Embracing the Ebb and Flow
colly
84
4.6k
Designing for humans not robots
tammielis
250
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
350
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Building Adaptive Systems
keathley
40
2.4k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
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 ありがとうございました!