関数を作成する
関数は 2 段階で作成します。
-
関数コードを JavaScript として作成します。CloudFront コンソールのデフォルトの例を使用することも、独自に記述することもできます。詳細については、以下の各トピックを参照してください。
-
CloudFront を使用して関数を作成し、コードを含めます。コードは関数内にあります (リファレンスとしてではありません)。
関数を作成すると、DEVELOPMENT ステージに追加されます。関数は、テストしてから発行することをお勧めします。関数を発行すると、関数のステージは LIVE に変わります。
関数作成時の TaggingConflict エラー
CloudFront Functions は、同じ名前の関数に ARN を再利用します。タグを使用して関数を作成すると、TaggingConflict (HTTP 409) エラーが発生することがあります。これは、以下のシナリオで発生する可能性があります。
-
関数の削除後 – 削除直後に同じ名前とタグを持つ関数を再作成した場合。
-
作成の試行が失敗した後 – 以前の作成リクエストが失敗した場合 (例: 無効なパラメータ、無効な KVS 関連付け、CloudFormation スタックのロールバックの失敗など)。
TaggingConflict エラーが発生した場合は、次のことができます。
-
数分待ってから、オペレーションを再試行してください。
-
別の関数名を使用します。これにより、ARN 再利用の競合を完全に回避できます。
-
テンプレートで KeyValueStore と、それを参照する関数の両方を作成する場合は、明示的な
DependsOnを追加して、関数を作成する前に KVS が完全にプロビジョニングされるようにします。