関数を更新する
関数はいつでも更新できます。変更は、DEVELOPMENT
ステージ内の関数のバージョンに対してのみ行われます。更新を DEVELOPMENT
ステージから LIVE
にコピーするには、関数を発行する必要があります。
関数のコードを更新するには、CloudFront コンソールまたは AWS Command Line Interface (AWS CLI) を使用できます。
- Console
-
- CLI
-
関数コードを更新するには
-
コマンドラインウィンドウを開きます。
-
以下のコマンドを実行します。
この例では、fileb://
表記を使用してファイルを渡します。コマンドを読みやすくするために改行も含まれています。
aws cloudfront update-function \
--name MaxAge \
--function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \
--function-code fileb://function-max-age-v1.js \
--if-match ETVABCEXAMPLE
-
関数は名前と ETag (if-match
パラメータ内) の両方で識別します。必ず現在の ETag を使用してください。describe オペレーションを使用して取得できます。
-
変更したくない場合でも、function-code
を含める必要があります。
-
function-config
には注意してください。設定に保持するすべてのものを渡す必要があります。具体的には、キー値ストアを次のように処理してください。
-
既存のキー値ストアの関連付け (存在する場合) を維持するには、既存のストアの名前を指定します。
-
関連付けを変更するには、新しいキー値ストアの名前を指定します。
-
関連付けを削除するには、KeyValueStoreAssociations
パラメータを省略します。
コマンドが成功した場合は、以下のような出力が表示されます。
ETag: ETVXYZEXAMPLE
FunctionSummary:
FunctionConfig:
Comment: Max Age 2 years \
Runtime: cloudfront-js-2.0 \
KeyValueStoreAssociations= \
{Quantity=1, \
Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333: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-12-19T23:41:15.389000+00:00' \
Stage: DEVELOPMENT \
Name: MaxAge \
Status: UNPUBLISHED
ほとんどの情報はリクエストから繰り返されます。その他の情報は CloudFront によって追加されます。
-
ETag
– この値は、キー値ストアを変更するたびに変わります。
-
FunctionARN
– CloudFront 関数の ARN。
-
Stage
– 関数のステージ (LIVE
または DEVELOPMENT
)。
-
Status
– 関数のステータス (PUBLISHED
または UNPUBLISHED
)。