kakakakakku blog

Weekly Tech Blog: Keep on Learning!

API Gateway

Powertools for AWS Lambda (Python) の Validation で UUID フォーマットをバリデーションする

Powertools for AWS Lambda (Python) の Validation でプロパティの「UUID フォーマット」をチェックする場合は以下のようにスキーマを実装すると良さそう { '$schema': 'http://json-schema.org/draft-07/schema', 'type': 'object', 'required': ['id'], '…

Amazon API Gateway の Lambda オーソライザーで "User is not authorized to access this resource" と出たら

Amazon API Gateway の Lambda オーソライザー(旧カスタムオーソライザー)を使ってアクセス制御をするときに,Authorization ヘッダーは正しいはずなのに {"Message":"User is not authorized to access this resource"} というエラーが出てしまう場合,La…

JSON Schema で簡単にバリデーションを実装できる Powertools for AWS Lambda (Python) の Validation

Powertools for AWS Lambda (Python) の「Validation」を使うと AWS Lambda 関数に渡されたイベント情報のバリデーションを JSON Schema に沿って実現できる.例えば,必須パラメータ・文字数制限・ENUM・正規表現などをチェックできる Powertools for AWS L…

Lambda オーソライザーのポリシーを簡単に出力できる Powertools for AWS Lambda (Python) の APIGatewayAuthorizerResponse

Amazon API Gateway の Lambda オーソライザー(旧カスタムオーソライザー)を使ってアクセス制御をするときに Lambda オーソライザーの仕様に沿ったポリシーを出力する必要がある詳しくは以下のドキュメントに載っている. docs.aws.amazon.com 今まではド…

正式リリースになった AWS SAM CLI の Terraform サポート機能を試す

2023年9月5日に AWS SAM CLI の Terraform サポート機能が GA (正式リリース)になった Amazon API Gateway や AWS Lambda 関数などサーバーレス関連のコンポーネントは Terraform で統一的に管理しつつも,AWS SAM CLI の開発支援機能(sam local invoke …

AWS SAM で Amazon API Gateway の Usage Plan を作るときに API Stage not found と出たら

AWS SAM で Amazon API Gateway (REST) の API Key と Usage Plan を構築するとき,実行時に以下のように API Stage not found というエラーが出ることがある.これはよくハマる問題で,AWS SAM 関連の GitHub を見ると issue も出ている.今回は解決策と注…

Amazon API Gateway から Amazon EventBridge への直接統合を AWS SAM と OpenAPI で構築する

Amazon API Gateway (REST API) から Amazon EventBridge にリクエストを流すように直接統合する構成を AWS SAM (AWS CloudFormation) と OpenAPI で実装する検証をしていたので紹介する❗️ハマりどころもあって,困ったときに参考になるドキュメントも少なく…

API Gateway + Lambda で Marvel のキャラクター画像を自動返答する Slack Bot を作った

温泉ハッカソンの中で Marvelite Gem を使ったスクリプト を書いてみたんだけど,せっかくなら最近気になってた API Gateway + Lambda を試してみようと思って,Node から Marvel Comics API を叩く方向性に変えた.結果的に Marvel Comics API を使って Sla…