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
450
ZappaでDBもパッケージしたサーバーレスAPIを構築してみた
PyCon mini Sapporo 2019 発表資料
Yasunori Kirimoto
May 11, 2019
Tweet
Share
More Decks by Yasunori Kirimoto
See All by Yasunori Kirimoto
State of Open Source Web Mapping Libraries
dayjournal
0
250
AWS Heroes Map 秘伝のレシピ
dayjournal
2
100
State of Amazon Location Service
dayjournal
0
140
State of Amazon Location Service
dayjournal
1
340
MapLibreとAmazon Location Service
dayjournal
1
410
AWS re:Invent 2023 現地での体験
dayjournal
1
840
英語が苦手でも世界にアウトプットしている話
dayjournal
3
1.7k
FOSS4GとAmazon Location Serviceの親和性
dayjournal
0
740
MIERUNEの組織とカルチャー
dayjournal
0
280
Other Decks in Technology
See All in Technology
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
Engineer Career Talk
lycorp_recruit_jp
0
130
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
Lambdaと地方とコミュニティ
miu_crescent
2
370
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
290
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
What's in a price? How to price your products and services
michaelherold
243
12k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Thoughts on Productivity
jonyablonski
67
4.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
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 ありがとうございました!