日本郵政の郵便番号データを使用した郵便番号検索APIの構築をします。
以下の環境変数を設定してください。
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_DEFAULT_REGION
VSCode で本プロジェクトを開き、コマンドパレット(Ctrl+Shift+P)から[Dev Containers: Reopen in Container...]を実行し、下記コマンドを実行してください。
yarn compile src/handler.ts
yarn cdk deploy
デプロイ完了です。
API Gatewayのサービスエンドポイントを確認し、APIをリクエストしてください。
curl http://example.com?zipcode=1010065
以下のレスポンスが返ってきます。
[
{
"jisCode": "13101",
"oldZipCode": "101 ",
"zipCode": "1010065",
"prefectureKatakana": "トウキョウト",
"cityKatakana": "チヨダク",
"townKatakana": "ニシカンダ",
"prefecture": "東京都",
"city": "千代田区",
"town": "西神田"
}
]
API Gateway を Lambda と統合し、Lambda から S3 Select を呼び出して CSV から住所検索をします。
- API Gateway
- Lambda
- S3
-
日本郵政の Web サイトから CSV をダウンロードします。
-
S3 のバケットを作成し、上記でダウンロードした CSV を配置します。
-
ラムダを作成し、aws-sdk を使って、S3 Select による住所検索をします。
- 512 MiB
- Node 16
-
先に作成したバケットの読み取り権限をラムダに付与します。
-
API Gateway を作成し、上記のラムダと統合します。