

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 發佈函數
<a name="publish-function"></a>

您發佈函數時，這會將函數從 `DEVELOPMENT` 階段複製到 `LIVE` 階段。

如果沒有與函數相關聯的快取行為，發佈該函數可讓您將其與快取行為產生關聯。您只能將快取行為與 `LIVE` 階段中的函數產生關聯。

**重要**  
建議您在發佈之前先[測試函數](test-function.md)。
發佈函數後，與該函數相關聯的所有快取行為會在分佈完成部署後立即開始使用新發佈的副本。

您可以在 CloudFront 主控台中或使用 AWS CLI 發佈函數。

------
#### [ Console ]

**發佈函數**

1. 在 [https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions) 登入 CloudFront 主控台，並選擇**函數**頁面。

1. 選擇要更新的函數。

1. 選擇**發佈**索引標籤，然後選擇**發佈**。如果您的函數已附加至一或多個快取行為，請選擇**發佈並更新**。

1. (選用) 若要檢視與函數相關聯的分佈，請選擇**關聯的 CloudFront 分佈**以展開該區段。

成功後，您會在頁面頂端看到一個橫幅，顯示**已成功發佈*函數名稱***。您也可以選擇**建置**索引標籤，然後選擇**即時**以檢視函數程式碼的即時版本。

------
#### [ CLI ]

**發佈函數**

1. 開啟命令列視窗。

1. 執行下列 **aws cloudfront publish-function** 命令。在此範例中，提供分行符號以使範例更具可讀性。

   ```
   aws cloudfront publish-function \
       --name MaxAge \
       --if-match ETVXYZEXAMPLE
   ```

   如果命令成功執行，您會看到如下所示的輸出。

   ```
   FunctionSummary:
     FunctionConfig:
       Comment: Max Age 2 years
       Runtime: cloudfront-js-2.0
     FunctionMetadata:
       CreatedTime: '2021-04-18T21:24:21.314000+00:00'
       FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction
       LastModifiedTime: '2023-12-19T23:41:15.389000+00:00'
       Stage: LIVE
     Name: MaxAge
     Status: UNASSOCIATED
   ```

------