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
490
住所正規化 API をLambda + Redis で動くようにしたお話
enkatsu
August 02, 2021
Tweet
Share
More Decks by enkatsu
See All by enkatsu
NICOGRAPH 2022 で発表してきました
enkatsu
0
350
インデントの崩れる音がする
enkatsu
0
280
Open Street Map の歩き方
enkatsu
0
470
Other Decks in Technology
See All in Technology
20251014_Pythonを実務で徹底的に使いこなした話
ippei0923
0
190
社内お問い合わせBotの仕組みと学び
nish01
1
580
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
130
AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터 IAM까지
kimjaewook
0
130
Git in Team
kawaguti
PRO
3
360
AWS IoT 超入門 2025
hattori
0
330
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
1
540
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
0
190
いまからでも遅くない!SSL/TLS証明書超入門(It's not too late to start! SSL/TLS Certificates: The Absolute Beginner's Guide)
norimuraz
0
200
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
2
470
HR Force における DWH の併用事例 ~ サービス基盤としての BigQuery / 分析基盤としての Snowflake ~@Cross Data Platforms Meetup #2「BigQueryと愉快な仲間たち」
ryo_suzuki
0
130
Large Vision Language Modelを用いた 文書画像データ化作業自動化の検証、運用 / shibuya_AI
sansan_randd
0
130
Featured
See All Featured
Code Review Best Practice
trishagee
72
19k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Optimizing for Happiness
mojombo
379
70k
Agile that works and the tools we love
rasmusluckow
331
21k
RailsConf 2023
tenderlove
30
1.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
20
1.2k
Why Our Code Smells
bkeepers
PRO
339
57k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
How GitHub (no longer) Works
holman
315
140k
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 は同じセキュリティグループじゃないと接続できない
おわり