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
Satoshi Gachi Fujimoto
March 12, 2020
Technology
0
72
APIつくってみた
熊本GTFS-JP活用勉強会 vol.2の資料です。
https://kumamcn.connpass.com/event/169877/
Satoshi Gachi Fujimoto
March 12, 2020
Tweet
Share
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
83
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
250
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
98
ガチマナ会 vol.1
satoshirobatofujimoto
0
200
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
200
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
150
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
390
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
190
OpenAI 新機能まとめ(Function callingとAdd your data編)
satoshirobatofujimoto
0
240
Other Decks in Technology
See All in Technology
Охота на косуль у древних
ashapiro
0
130
どちらかだけじゃもったいないかも? ECSとEKSを適材適所で併用するメリット、運用課題とそれらの対応について
tk3fftk
2
280
エンジニアのキャリアパスと、 その中で自分が大切にしていること
noteinc
3
230
LayerXにおけるAI活用事例とその裏側(2025年2月) バクラクの目指す “業務の自動運転” の例 / layerx-ai-deim2025
yuya4
4
750
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
230
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
220
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
390
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
550
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.9k
手を動かしてレベルアップしよう!
maruto
0
260
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
170
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
1.1k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Documentation Writing (for coders)
carmenintech
68
4.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
115
51k
A Modern Web Designer's Workflow
chriscoyier
693
190k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Making Projects Easy
brettharned
116
6k
Git: the NoSQL Database
bkeepers
PRO
428
65k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Code Reviewing Like a Champion
maltzj
521
39k
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
ご清聴ありがとうございました