

# 发布函数
<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
   ```

------