翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
関数の作成
関数は 2 段階で作成します。まず、 の外部で Java スクリプトとして関数コードを作成します CloudFront。次に、 CloudFront を使用して関数を作成し、コードを含めます。コードは関数内にあります (リファレンスとしてではありません)。
新しい関数が DEVELOPMENT
ステージに追加されます。関数を LIVE
ステージにコピーするには、その関数をパブリッシュする必要があります。
- Console
-
関数を作成するには (コンソール)
-
にサインインAWS Management Consoleし、 CloudFront コンソールの 関数 ページを開きますhttps://console.aws.amazon.com/cloudfront/v4/home#/functions
。 -
[関数の作成] を選択します。
-
AWS アカウント内で一意の関数名を入力し、Java Script バージョンを選択して、[続行] を選択します。これで、この関数は存在するようになりました。新しい関数の詳細ページが表示されます。
注記
関数で [キーと値のペア] を使用する場合は、Java Script 2.0 を選択する必要があります。
-
[関数コード] セクションで、[ビルド] タブを選択し、関数コードを入力します。[ビルド] タブに含まれるサンプルコードは、関数コードの基本的な構文を示しています。コードは次のように入力できます。
-
使用を開始するには、デフォルトの関数を使用してください。
-
これを独自のコードに置き換えます。
関数コードの記述の詳細については、以下を参照してください。
-
-
[変更を保存] を必要な回数だけ選択して、関数コードを保存します。
-
関数コードがキーと値のペアを使用する場合は、キーと値のストアを関連付ける必要があります。
キーと値のストアは、関数の初回作成時に関連付けることができます。また、後で関数を更新して関連付けることもできます。
キーと値のストアを今すぐ関連付けるには、次の手順に従います。
-
「関連付け KeyValueStore」セクションに移動し、「既存の を関連付け KeyValueStoreる」を選択します。
-
関数のキーと値のペアを含むキーと値のストアを選択し、 の関連付け KeyValueStoreを選択します。
CloudFront は、ストアを 関数に直ちに関連付けます。関数を保存する必要はありません。
-
-
- CLI
-
CLI を使用する場合、通常は最初に関数コードをファイルに作成し、次に AWS CLI を使用して関数を作成します。
-
関数コードをファイルに作成し、コンピュータが接続できるディレクトリに保存します。関数コードの記述の詳細については、以下を参照してください。
-
次の例に示すようにコマンドを実行します。この例では、fileb:// 表記を使用してファイルに渡します。コマンドを読みやすくするために改行も含まれています。
aws cloudfront create-function \ --name MaxAge \ --function-config Comment="Max Age 2 years",\ Runtime="cloudfront-js-2.0", \ KeyValueStoreAssociations= \ {Quantity=1, \ Items=[{KeyValueStoreARN='arn:aws:cloudfront::1:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]}" \ --function-code fileb://function-max-age-v1.js
注記:
-
Runtime
: Java Script のバージョン。関数でキーと値のペアを使用する場合は、バージョン 2.0 を指定する必要があります。 -
KeyValueStoreAssociations
: 関数がキーと値のペアを使用する場合、関数の初回作成時にキー値ストアを関連付けることができます。または、update-function
を使用して後で関連付けることもできます。各関数に関連付けることができるキー値ストアは 1 つだけのため、Quantity
は常に1
です。
コマンドが成功した場合は、以下のような出力が表示されます。
ETag: ETVABCEXAMPLE FunctionSummary: FunctionConfig: Comment: Max Age 2 years Runtime: cloudfront-js-2.0 KeyValueStoreAssociations= \ {Quantity=1, \ Items=[{KeyValueStoreARN='arn:aws:cloudfront::1:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]}" \ FunctionMetadata: CreatedTime: '2021-04-18T20:38:56.915000+00:00' FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge LastModifiedTime: '2023-11-19T20:38:56.915000+00:00' Stage: DEVELOPMENT Name: MaxAge Status: UNPUBLISHED Location: https://cloudfront.amazonaws.com/2020-05-31/function/arn:aws:cloudfront::111122223333:function/MaxAge
ほとんどの情報はリクエストから繰り返されます。その他の情報は によって追加されます CloudFront。次の点に注意してください。
-
ETag
: この値は、キー値ストアを変更するたびに変わります。この値と関数名を使用して、今後この関数を参照します。必ず現在の ETag を使用してください。 -
FunctionARN
-
Stage
-
Status
-