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
APIつくってみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Satoshi Gachi Fujimoto
March 12, 2020
Technology
84
0
Share
APIつくってみた
熊本GTFS-JP活用勉強会 vol.2の資料です。
https://kumamcn.connpass.com/event/169877/
Satoshi Gachi Fujimoto
March 12, 2020
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
忘年会LT(2025)
satoshirobatofujimoto
0
59
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
140
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
330
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
170
ガチマナ会 vol.1
satoshirobatofujimoto
0
270
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
330
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
220
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
470
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
250
Other Decks in Technology
See All in Technology
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
300
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
320
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
1.1k
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
1
520
Dynamic Workersについて
yusukebe
2
480
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
370
Unlocking the Apps
pimterry
0
120
はじめてのDatadog
kairim0
0
240
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
350
食べログのサーキットブレーカー導入を振り返って
atpons
1
150
Kiro CLI v2.0.0がやってきた!
kentapapa
0
220
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
150
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
760
New Earth Scene 8
popppiees
3
2.3k
Design in an AI World
tapps
1
220
Claude Code のすすめ
schroneko
67
220k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
BBQ
matthewcrist
89
10k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Practical Orchestrator
shlominoach
191
11k
Transcript
2020/03/12 熊本GTFS-JP活⽤勉強会 vol.2 APIつくってみた
⾃⼰紹介 ガチ本 です co-founder KumaMCN ナレッジコミュニケーション R&D戦略チーム AWS ML コンピテンシーパートナー
Microsoft Mixed Reality Partner CV / SLAM / WHILL / Python satoshi.gachi.fujimoto @sotongshi
API(Application Programming Interface)とは︖ • アプリケーションの⼀部を外部に公開して、 他のアプリケーションと繋ぐもの • データはjson形式でやりとり https://flow.microsoft.com/ja-jp/connectors/
Kuma GTFS API v1.0.2 • 仕様書 • http://ec2-18-180-6-76.ap-northeast-1.compute.amazonaws.com/ • 主な機能(※現在は産交バスのデータのみ対応)
• フィード情報取得 • 事業者情報取得 • 事業者追加情報取得 • 運⾏区分情報取得 • 運⾏⽇情報取得 • 営業所情報取得 • 経路情報取得 • 経路追加情報取得 • 停留所・標柱情報取得 • 翻訳情報取得 • 便情報取得
APIのつくり⽅ • AWS(Amazon Web Services) • Lambda • API Gateway
• DynamoDB • Step Functions • S3 AWS Cloud AWS Lambda Amazon API Gateway AWS Step Functions AWS Lambda AWS Lambda Amazon DynamoDB
DBの作成 • 12個のDBを作成するLambda関数(gtfs-create) • sankobus-feed-info • sankobus-agency • sankobus-agency-jp •
sankobus-calendar • sankobus-calendar-dates • sankobus-office-jp • sankobus-routes • sankobus-routes-jp • sankobus-stop-times • sankobus-translations • sankobus-trips
データの更新 • DBを更新するLambda関数(gtfs-update) • feed_info.txtからfeed_versionを取ってきて、DBの値と異なっていたら、更新する仕組み • データの⼤きいstops/stop_times/translations/tripsは1000件ずつ分けて保存 • 1回のLambdaの実⾏時間は15分まで、DynamoDBの書き込み速度(キャパシティ)も制限がある •
15分で5000件くらい書き込める • 並列実⾏はDBのキャパシティを超えるため不可能(※お⾦をかければ制限を超えられる • APIの応答時間は29秒なので、それを超えるような処理を実⾏したい場合はStepFunctionsを⽤いる • stop_timesは70万件ほどあるので1⽇かかるw
毎⽇更新されている︕
今後の展望 • DBをやめようかな • S3にデータを毎⽇ためる • データを差分とるやつを作ってみる
イベント告知 Kumamoto HoloLens ミートアップ vol.6 ⽇時︓2020/4/6(⽉)19:00-21:00 場所︓オンライン 参加費︓無料 登壇者︓@chomado @HoloMotoRanger
@sotongshi @Shota7Y
ご清聴ありがとうございました