本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 函數
您會分兩個階段建立函數:
-
建立函數程式碼做為 JavaScript。您可以從 CloudFront 主控台使用預設範例,或自行撰寫。如需詳細資訊,請參閱下列主題:
-
使用 CloudFront 建立函數並包含您的程式碼。程式碼存在於函數內部 (而不是引用形式)。
- Console
-
建立 函數
-
登入位於 的 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home#/functions
,然後選擇函數頁面。 -
選擇 Create function (建立函數)。
-
輸入 中唯一的函數名稱 AWS 帳戶,選擇 JavaScript 版本,然後選擇繼續。新函數的詳細資訊頁面會隨即顯示。
注意
若要在函數中使用鍵值對,您必須選擇 JavaScript 執行期 2.0。
-
在函數程式碼區段中,選擇建置索引標籤並輸入您的函數程式碼。建置索引標籤中包含的範例程式碼會說明函數程式碼的基本語法。
-
選擇 Save changes (儲存變更)。
-
如果函數程式碼使用鍵值對,您必須關聯鍵值存放區。
您可以在第一次建立函數時關聯索引鍵值存放區。或者,您可以稍後更新函數來建立關聯。
若要立即關聯鍵值存放區,請依照下列步驟執行:
-
前往關聯 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::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \ --function-code fileb://function-max-age-v1.js
備註
-
Runtime
– JavaScript 的版本。若要在函數中使用鍵值對,您必須指定 2.0 版。 -
KeyValueStoreAssociations
– 如果您的函數使用鍵值對,您可以在第一次建立函數時關聯鍵值存放區。或者,您可以稍後使用 建立關聯update-function
。Quantity
永遠等於1
,因為每個函數只能有一個與其關聯的鍵值存放區。
如果命令成功執行,您會看到如下所示的輸出。
ETag: ETVABCEXAMPLE 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-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:::function/MaxAge
大多數資訊都是從請求中複製的。其他資訊會由 CloudFront 新增。
備註
-
ETag
– 每次修改鍵值存放區時,此值都會變更。您可以使用此值和函數名稱,在未來參考函數。請務必一律使用目前的ETag
。 -
FunctionARN
– CloudFront 函數的 ARN。 -
111122223333 – AWS 帳戶。
-
Stage
– 函數的階段 (LIVE
或DEVELOPMENT
)。 -
Status
– 函數的狀態 (PUBLISHED
或UNPUBLISHED
)。
-
-
建立函數之後,該函數會新增至DEVELOPMENT
階段。建議您在發佈函數之前進行測試。 發佈 函數發佈函數之後,函數會變更為LIVE
階段。