Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/casl0/japanpost_api
郵便番号検索サーバーレスAPI
https://github.com/casl0/japanpost_api
api-gateway aws aws-lambda cdk lambda s3-select
Last synced: 4 days ago
JSON representation
郵便番号検索サーバーレスAPI
- Host: GitHub
- URL: https://github.com/casl0/japanpost_api
- Owner: CASL0
- License: mit
- Created: 2024-01-05T10:52:37.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-02-04T13:39:05.000Z (9 months ago)
- Last Synced: 2024-04-17T23:53:55.913Z (7 months ago)
- Topics: api-gateway, aws, aws-lambda, cdk, lambda, s3-select
- Language: TypeScript
- Homepage:
- Size: 86.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# japanpost_api
[日本郵政の郵便番号データ](https://www.post.japanpost.jp/zipcode/dl/utf-zip.html)を使用した郵便番号検索APIの構築をします。
## Getting Started
以下の環境変数を設定してください。
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_DEFAULT_REGIONVSCode で本プロジェクトを開き、コマンドパレット(Ctrl+Shift+P)から[Dev Containers: Reopen in Container...]を実行し、下記コマンドを実行してください。
```sh
tsc src/handler.ts
npx cdk deploy
```デプロイ完了です。
## 構成
API Gateway を Lambda と統合し、Lambda から S3 Select を呼び出して CSV から住所検索をします。
- API Gateway
- Lambda
- S3![infra](https://github.com/CASL0/japanpost_api/assets/28913760/bc33b472-fd01-47e7-941e-b415ac532a77)
### 詳細
1. 日本郵政の Web サイトから CSV をダウンロードします。
- https://www.post.japanpost.jp/zipcode/dl/utf/zip/utf_ken_all.zip
1. S3 のバケットを作成し、上記でダウンロードした CSV を配置します。
1. ラムダを作成し、aws-sdk を使って、S3 Select による住所検索をします。
- 512 MiB
- Node 16
1. 先に作成したバケットの読み取り権限をラムダに付与します。
1. API Gateway を作成し、上記のラムダと統合します。