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 をLambda + Redis で動くようにしたお話
Search
enkatsu
August 02, 2021
Technology
0
430
住所正規化 API をLambda + Redis で動くようにしたお話
enkatsu
August 02, 2021
Tweet
Share
More Decks by enkatsu
See All by enkatsu
NICOGRAPH 2022 で発表してきました
enkatsu
0
270
インデントの崩れる音がする
enkatsu
0
260
Open Street Map の歩き方
enkatsu
0
460
Other Decks in Technology
See All in Technology
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
770
AI研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
130
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
エンジニアの生存戦略 〜クラウド潮流の経験から紐解く技術トレンドのメカニズムと乗りこなし方〜
shimy
9
1.9k
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
MySQLのロックの種類とその競合
yoku0825
6
1.6k
大規模ドラレコデータ収集・機械学習基盤を支える AWS CDK 〜導入・運用事例紹介〜
pemugi
0
110
コンテナ・K8s研修 - 後半 Kubernetes 基礎&ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
1
120
LLMアプリケーションの評価の実践と課題 ~PharmaXにおける今後の展望~
pharma_x_tech
2
160
サービス開発を前に進めるために 新米リードエンジニアが 取り組んだこと / Steps Taken by a Novice Lead Engineer to Advance Service Development
nologyance
0
180
累計ダウンロード数1億8000万を超えるアプリケーションプラットフォームのレガシーシステム脱却とモダン化への道
kmitsuhashi
0
120
Featured
See All Featured
RailsConf 2023
tenderlove
16
720
The Mythical Team-Month
searls
217
43k
Building Flexible Design Systems
yeseniaperezcruz
323
37k
Producing Creativity
orderedlist
PRO
340
39k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
A Modern Web Designer's Workflow
chriscoyier
689
190k
YesSQL, Process and Tooling at Scale
rocio
166
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
Visualization
eitanlees
139
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Web Components: a chance to create the future
zenorocha
307
41k
Transcript
住所正規化 API を Lambda + Redis で動くようにしたお話 ARCANA Meetup #72
2021/7/30 株式会社スタジオ・アルカナ 遠藤勝也
住所正規化 API とは?
霞が関 2-1-10 東京都 / 千代田区 / 霞が関 / 2 /
1 / 10
入力 { "@type": " 住所型", " 表記" : " 霞が関2-1-10"
}
出力 { "@type": " 住所型", " 表記": " 霞が関2-1-10", "
都道府県": " 東京都", " 都道府県コード": "http://data.e-stat.go.jp/lod/sac/C13000", " 市区町村": " 千代田区", " 市区町村コード": "http://data.e-stat.go.jp/lod/sac/C13101", " 町名": " 霞が関", " 丁目": "2", " 番地": "1", " 号": "10" }
既存の構成 imi-enrichment-address https://github.com/IMI-Tool-Project/imi-enrichment-address LevelDB を使った npm EC2 で動かしてる 同時にアクセスできない
LevelDB とは https://github.com/google/leveldb Google 製のキーバリューストア 高速 SQLite の KVS バージョンみたいなイメージ
既存のライブラリの構造 . ├── LICENSE ├── README.md ├── bin ├── cache
├── db # ここにファイルがあって読み書きしてる ├── lib ├── main.js ├── node_modules ├── package-lock.json ├── package.json ├── spec ├── test └── tools
他の KVS で使える様にしよう!
せっかくだから AWS のサービスで構築したい
Lambda + Redis で構築しました やったこと 1. imi-enrichment-address をフォークしたリポジトリを作成する 2. imi-enrichment-address
のテストコードを実行する 3. LeveelDB を使っている箇所を Redis に差し替える 4. RedisInsight を使ってローカルの Redis にデータが保存されているか確認する 5. AWS ElastiCache にデータをリストアする 6. AWS Lambda から Redis に接続できるか確認する 7. AWS Lambda で API を実装する
つまったこと ElastiCache にリストアできない! S3 の権限を緩める必要がある ElastiCache にローカルの Redis CLI で接続できない!
Lambda から ElastiCache にアクセスできない! ElastiCache は同じセキュリティグループじゃないと接続できない
おわり