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
76
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
120
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
290
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
130
ガチマナ会 vol.1
satoshirobatofujimoto
0
240
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
260
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
170
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
430
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
220
OpenAI 新機能まとめ(Function callingとAdd your data編)
satoshirobatofujimoto
0
280
Other Decks in Technology
See All in Technology
事業価値と Engineering
recruitengineers
PRO
3
2.1k
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
7
1.9k
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
150
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
4
540
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
130
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
4
610
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
.NET開発者のためのAzureの概要
tomokusaba
0
230
DuckDB-Wasmを使って ブラウザ上でRDBMSを動かす
hacusk
1
120
知られざるprops命名の慣習 アクション編
uhyo
11
2.6k
「AI2027」を紐解く ― AGI・ASI・シンギュラリティ
masayamoriofficial
0
110
実践AIガバナンス
asei
2
120
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Visualization
eitanlees
147
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
A designer walks into a library…
pauljervisheath
207
24k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Into the Great Unknown - MozCon
thekraken
40
2k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
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
ご清聴ありがとうございました