CloudFront

cloudfront functions でクエリパラメータを追加したい

微妙にハマったのでメモ。 docs.aws.amazon.com 関数の中ではクエリパラメータなどはオブジェクトとして扱うことになる。例えば、クエリパラメータに foo=bar を追加する場合は次のようにする。 function handler(event) { var request = event.request; req…

CloudFront Functions で特定の Cookie の値を HTTP ヘッダーに付け替えたい

CloudFront Functions で特定の Cookie の値を HTTP ヘッダーに付け替えるコード。備忘録。 function handler(event) { var request = event.request; if (request.cookies['foo'] && request.cookies['foo'].value) { request.headers['foo'] = {value: req…

CloudFront の TooManyInvalidationsInProgressException を CallerReference で抑止したい

前提 CloudFront のキャッシュを利用するシステムで、ユーザーの操作をトリガーに、条件に合致するオブジェクトパスに invalidation リクエストする仕様。 困ったこと com.amazonaws.services.cloudfront.model.TooManyInvalidationsInProgressException: Pr…

CloudFront のキャッシュを Lambda から invalidation する

調べる機会があったのでメモ。 前提 Lambda 関数はこんな感じで作成。IAM ロールは別途用意。 ランタイム: Python 3.8 アーキテクチャ: x86_64 サンプルコード 今回は、invalidation するオブジェクトパスをパラメータで指定できるようにする。パラメータ未…