

# 缓存行为设置
<a name="DownloadDistValuesCacheBehavior"></a>

通过设置缓存行为，您可以为您网站上文件的特定 URL 路径模式配置各种 CloudFront 功能。例如，一个缓存行为可能适用于您用作 CloudFront 源服务器的 Web 服务器上 `.jpg` 目录中所有的 `images` 文件。您可为每个缓存行为配置的功能包括：
+ 路径模式
+ 如果您已经为 CloudFront 分配配置了多个源，则为您希望 CloudFront 将您的请求转发到的源
+ 是否将查询字符串转发到源
+ 访问指定文件是否需要签名的 URL
+ 是否要求用户使用 HTTPS 访问这些文件
+ 这些文件保留在 CloudFront 缓存中的最短时间，不管您的源添加到文件中的任何 `Cache-Control` 标头的值

当您创建新分配时，您为默认缓存行为指定设置，这将自动把所有请求转发到您创建分配时指定的源中。在创建分配后，您可创建其他缓存行为，该行为定义 CloudFront 在其接受与路径模式相匹配的对象请求时如何响应，例如 `*.jpg`。如果您创建其他缓存行为，默认缓存行为始终是最后一个被处理的。其他缓存行为以他们在 CloudFront 控制台中所列的顺序进行处理，或者，如果您使用 CloudFront API，以他们在分配 `DistributionConfig` 元素中所列的顺序进行处理。有关更多信息，请参阅 [路径模式](#DownloadDistValuesPathPattern)。

当您创建缓存行为是，可指定您希望 CloudFront 从中获取对象的一个源。因此，如果您希望 CloudFront 分配所有源的对象，必须至少具有与您所拥有的源一样多的缓存行为（包括默认缓存行为）。例如，如果您有两个源但只有一个默认缓存行为，则默认缓存行为将导致 CloudFront 从其中一个源获取对象，但永远不会使用另一个源。

有关您可以添加到分配的当前最大缓存行为数，或要请求提高配额（以前称为限制），请参阅[分配的一般配额](cloudfront-limits.md#limits-web-distributions)。

**Topics**
+ [路径模式](#DownloadDistValuesPathPattern)
+ [源或源组](#DownloadDistValuesTargetOriginId)
+ [查看器协议策略](#DownloadDistValuesViewerProtocolPolicy)
+ [允许的 HTTP 方法](#DownloadDistValuesAllowedHTTPMethods)
+ [字段级加密 Config](#DownloadDistValuesFieldLevelEncryption)
+ [缓存的 HTTP 方法](#DownloadDistValuesCachedHTTPMethods)
+ [允许通过 HTTP/2 发出 gRPC 请求](#enable-grpc-distribution)
+ [基于选择的请求标头进行缓存](#DownloadDistValuesForwardHeaders)
+ [允许列表标头](#DownloadDistValuesAllowlistHeaders)
+ [对象缓存](#DownloadDistValuesObjectCaching)
+ [最小 TTL](#DownloadDistValuesMinTTL)
+ [最大 TTL](#DownloadDistValuesMaxTTL)
+ [默认 TTL](#DownloadDistValuesDefaultTTL)
+ [转发 Cookie](#DownloadDistValuesForwardCookies)
+ [允许列表 Cookie](#DownloadDistValuesAllowlistCookies)
+ [查询字符串转发和缓存](#DownloadDistValuesQueryString)
+ [查询字符串允许列表](#DownloadDistValuesQueryStringAllowlist)
+ [Smooth Streaming](#DownloadDistValuesSmoothStreaming)
+ [限制查看器访问（使用签名 URL 或签名 Cookie）](#DownloadDistValuesRestrictViewerAccess)
+ [可信签署人](#DownloadDistValuesTrustedSigners)
+ [AWS 账户 数字](#DownloadDistValuesAWSAccountNumbers)
+ [自动压缩对象](#DownloadDistValuesCompressObjectsAutomatically)
+ [CloudFront 事件](#DownloadDistValuesEventType)
+ [Lambda 函数 ARN](#DownloadDistValuesLambdaFunctionARN)
+ [包含正文](#include-body)

## 路径模式
<a name="DownloadDistValuesPathPattern"></a>

路径模式（例如，`images/*.jpg`）指定您希望该缓存行为所适用的请求。CloudFront 收到查看器请求时，会按照缓存行为在分配中列出的顺序，将请求路径与路径模式进行比较。第一个匹配者决定了哪个缓存行为适用于该请求。例如，假设您具有以下三个路径模式的三个缓存行为，顺序如下：
+ `images/*.jpg`
+ `images/*`
+ `*.gif`

**注意**  
可以选择在路径模式的开头包含斜杠 (/)，例如 `/images/*.jpg`。无论开头是否有 /，CloudFront 行为都相同。如果您未在路径的开头指定 /，则会自动隐含此字符；无论开头是否有 /，CloudFront 都会以相同方式处理该路径。例如，CloudFront 将 `/*product.jpg` 视为与 `*product.jpg` 相同

文件 `images/sample.gif` 的请求不符合第一个路径模式，因此，相关的缓存行为不适用于该请求。文件符合第二路径模式，因此，与第二个路径模式有关的缓存行为适用，即使该请求与第三个路径模式也匹配。

**注意**  
在创建新的分配时，默认缓存行为的**路径模式**的值将设置为 **\$1**（所有文件）且无法更改。此值导致 CloudFront 将您对象的所有请求转发到您在 [源域](DownloadDistValuesOrigin.md#DownloadDistValuesDomainName) 字段中指定的源。如果对象的请求与任何其他缓存行为的路径模式都不匹配，CloudFront 将应用您在默认缓存行为中指定的行为。

**重要**  
请谨慎定义路径模式及其顺序，否则您可能会向用户提供非预期的内容访问权限。例如，假设请求匹配两个缓存行为的路径模式。第一个缓存行为不要求签名 URL，而第二个缓存行为要求签名 URL。用户无需使用签名 URL 即可访问对象，因为 CloudFront 处理与第一个匹配有关的缓存行为。

如果您正在使用 MediaPackage 通道，则必须为您为源的端点类型定义的缓存行为包含特定的路径模式。例如，对于 DASH 端点，为**路径模式**键入 `*.mpd`。有关更多信息和具体说明，请参阅[提供使用 AWS Elemental MediaPackage 格式化的实时视频](live-streaming.md#live-streaming-with-mediapackage)。

您指定的路径适用于指定目录以及该指定目录下所有子目录中所有文件的请求。在评估路径模式时，CloudFront 不会考虑查询字符串或 Cookie。例如，如果 `images` 目录包含 `product1` 和 `product2` 子目录，此路径模式 `images/*.jpg` 适用于 `images`、`images/product1` 和 `images/product2` 目录中任何 .jpg 文件的请求。如果您希望将不同的缓存行为应用于 `images/product1` 目录中的文件而非 `images` 和 `images/product2` 目录中文件，为 `images/product1` 创建单独的缓存行为，并将该缓存行为移到 `images` 目录中缓存行为上方 (前面) 的位置。

您可在路径模式中使用以下通配符：
+ `*` 匹配 0 或多个字符。
+ `?` 精准匹配 1 个字符。

以下示例展示了通配符如何工作：


****  

| 路径模式 | 与路径模式匹配的文件 | 
| --- | --- | 
|  `*.jpg`  |  所有 .jpg 文件。  | 
|  `images/*.jpg`  |  `images` 目录及该 `images` 目录下子目录中的所有 .jpg 文件。  | 
|  `a*.jpg`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesCacheBehavior.html)  | 
|  `a??.jpg`  |  文件名以 `a` 开头且随后紧跟两个其他字符的所有 .jpg 文件，例如，`ant.jpg` 和 `abe.jpg`。  | 
|  `*.doc*`  |  文件扩展名以 `.doc` 开头的所有文件，例如，`.doc`、`.docx` 和 `.docm` 文件。在这种情况下，您不能使用路径模式 `*.doc?`，因为该路径模式不适用于 `.doc` 文件的请求；`?` 通配符精确替换一个字符。  | 

路径模式的长度上限是 255 个字符。该值可包含以下任何字符：
+ A-Z, a-z

  路径模式区分大小写，因此，路径模式 `*.jpg` 不适用于文件 `LOGO.JPG`。
+ 0-9
+ \$1 - . \$1 \$1 / \$1 " ' @ : \$1
+ &，作为 `&amp;` 传递和返回

### 路径规范化
<a name="path-normalization"></a>

CloudFront 对 URI 路径进行了与 [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986#section-6) 一致的规范化，然后将该路径与正确的缓存行为进行匹配。缓存行为匹配后，CloudFront 会将原始 URI 路径发送到源。如果它们不匹配，则请求会改为与您的默认缓存行为进行匹配。

会对某些字符进行规范化并从路径中删除它们，例如多个斜杠（`//`）或句点（`..`）。这可能会更改 CloudFront 用于匹配预期缓存行为的 URL。

**Example 示例**  
您可以为缓存行为指定 `/a/b*` 和 `/a*` 路径。  
+ 发送 `/a/b?c=1` 路径的查看器将与 `/a/b*` 缓存行为进行匹配。
+ 发送 `/a/b/..?c=1` 路径的查看器将与 `/a*` 缓存行为进行匹配。

要解决规范化路径的问题，您可以更新请求路径或缓存行为的路径模式。

## 源或源组
<a name="DownloadDistValuesTargetOriginId"></a>

此设置仅在您为现有分配创建或更新缓存行为时才适用。

输入现有源或源组的值。该值标识当请求（如 https://example.com/logo.jpg）与缓存行为（如 \$1.jpg）或默认缓存行为 (\$1) 的路径模式匹配时，您希望 CloudFront 将请求路由至的源或源组。

## 查看器协议策略
<a name="DownloadDistValuesViewerProtocolPolicy"></a>

选择您希望查看器用来访问 CloudFront 边缘站点中的内容的协议策略：
+ **HTTP 和 HTTPS**：查看器可使用两种协议。
+ **将 HTTP 重定向到 HTTPS**：查看器可使用两种协议，但 HTTP 请求将自动重定向到 HTTP 请求。
+ **仅 HTTPS**：如果查看器使用了 HTTPS，则只能访问您的内容。

有关更多信息，请参阅 [要求在查看器和 CloudFront 之间使用 HTTPS 进行通信](using-https-viewers-to-cloudfront.md)。

## 允许的 HTTP 方法
<a name="DownloadDistValuesAllowedHTTPMethods"></a>

指定您希望 CloudFront 处理并转发到源的 HTTP 方法：
+ **GET、HEAD：**您只能使用 CloudFront 获取您源中的对象或获取对象标头。
+ **GET、HEAD、OPTIONS：**您只能使用 CloudFront 从源获取对象、获取对象标头或检索您的源服务器支持的选项列表。
+ **GET、HEAD、OPTIONS、PUT、POST、PATCH、DELETE：**您可以使用 CloudFront 获取、添加、更新和删除对象以及获取对象标头。此外，您可以执行其他 POST 操作，例如从 Web 表格提交数据。
**注意**  
如果您在工作负载中使用 gRPC，则必须选择 **GET、HEAD、OPTIONS、PUT、POST、PATCH、DELETE**。gRPC 工作负载需要 `POST` 方法。有关更多信息，请参阅 [将 gRPC 与 CloudFront 分配结合使用](distribution-using-grpc.md)。  
CloudFront 将缓存对 `GET` 和 `HEAD` 请求以及（可选）`OPTIONS` 请求的响应。对 `OPTIONS` 请求的响应与对 `GET` 和 `HEAD` 请求的响应单独缓存（`OPTIONS` 方法包含在 `OPTIONS` 请求的[缓存键](understanding-the-cache-key.md)中）。CloudFront 不缓存对使用其他方法的请求的响应。

**重要**  
如果您选择 **GET, HEAD, OPTIONS** 或 **GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE**，则可能需要限制对 Amazon S3 存储桶或自定义源的访问，以阻止用户执行您不希望他们执行的操作。以下示例说明了如何限制访问：  
**如果将 Amazon S3 作为您的分配的源**：创建 CloudFront 源访问控制，以限制对您的 Amazon S3 内容的访问，并为源访问控制授予权限。例如，如果您*只是* 因为想要使用 `PUT` 而将 CloudFront 配置为接受并转发这些方法，则仍必须配置 Amazon S3 存储桶策略以适当处理 `DELETE` 请求。有关更多信息，请参阅 [限制对 Amazon S3 源的访问](private-content-restricting-access-to-s3.md)。
**如果您使用自定义源：**配置源服务器以处理所有方法。例如，您将 CloudFront 配置为接受并转发这些方法*只是*因为您想要使用 `POST`，则仍必须配置您的源服务器以适当处理 `DELETE` 请求。

## 字段级加密 Config
<a name="DownloadDistValuesFieldLevelEncryption"></a>

如果您要对特定数据字段强制实施字段级加密，请在下拉列表中选择一个字段级加密配置。

有关更多信息，请参阅 [使用字段级加密帮助保护敏感数据](field-level-encryption.md)。

## 缓存的 HTTP 方法
<a name="DownloadDistValuesCachedHTTPMethods"></a>

指定您是否希望 CloudFront 在查看器提交 `OPTIONS` 请求时缓存来自源的响应。CloudFront 始终缓存对 `GET` 和 `HEAD` 请求的响应。

## 允许通过 HTTP/2 发出 gRPC 请求
<a name="enable-grpc-distribution"></a>

指定是否希望您的分配允许 gRPC 请求。要启用 gRPC，请选择以下设置：
+ 对于**[允许的 HTTP 方法](#DownloadDistValuesAllowedHTTPMethods)**，请选择 **GET、HEAD、OPTIONS、PUT、POST、PATCH、DELETE** 方法。gRPC 需要 `POST` 方法。
+ 选择 `POST` 方法后，选中出现的 gRPC 复选框。
+ 对于 **[支持的 HTTP 版本](DownloadDistValuesGeneral.md#DownloadDistValuesSupportedHTTPVersions)**，请选择 **HTTP/2**。

有关更多信息，请参阅 [将 gRPC 与 CloudFront 分配结合使用](distribution-using-grpc.md)。

## 基于选择的请求标头进行缓存
<a name="DownloadDistValuesForwardHeaders"></a>

指定您是否要 CloudFront 基于指定标头的值缓存对象：
+ **无(改进缓存)** – CloudFront 不根据标头值缓存您的对象。
+ **允许列表** – CloudFront 仅根据指定标头的值缓存您的对象。使用**允许列表标头**选择您希望 CloudFront 进行缓存时所基于的标头。
+ **所有** – CloudFront 不缓存与该缓存行为关联的对象。相反，CloudFront 会将每个请求发送到源。（不建议用于 Amazon S3 源。）

无论您选择哪个选项，CloudFront 都会将特定标头转发到您的源并根据您转发的标头执行特定操作。有关 CloudFront 如何处理标头转发的更多信息，请参阅[HTTP 请求标头和 CloudFront 行为（自定义源和 Amazon S3 源）](RequestAndResponseBehaviorCustomOrigin.md#request-custom-headers-behavior)。

有关如何使用请求标头在 CloudFront 中配置缓存的更多信息，请参阅[根据请求标头缓存内容](header-caching.md)。

## 允许列表标头
<a name="DownloadDistValuesAllowlistHeaders"></a>

此设置仅在您为**基于选择的请求标头进行缓存**选择**允许列表**时才适用。

指定您希望 CloudFront 在缓存对象时考虑的标头。从可用标头列表中选择标头，然后选择**添加**。要转发自定义标头，请在字段中输入标头的名称，然后选择**添加自定义标头**。

有关您可以为每个缓存行为列入允许列表的当前最大标头数，或者要请求提高配额（以前称为限制），请参阅[标头的配额](cloudfront-limits.md#limits-custom-headers)。

## 对象缓存
<a name="DownloadDistValuesObjectCaching"></a>

如果源服务器将 `Cache-Control` 标头添加到对象以控制在 CloudFront 缓存中保留对象的时间长度，并且您不希望更改 `Cache-Control` 值，请选择**使用源缓存标头**。

要指定在 CloudFront 缓存中保留对象的最短时间和最长时间（不管 `Cache-Control` 标头如何）以及在缺少 `Cache-Control` 标头时在 CloudFront 缓存中保留对象的默认时间，请选择**自定义**。然后，在**最小 TTL**、**默认 TTL** 和**最大 TTL** 字段中指定值。

有关更多信息，请参阅 [管理内容保留在缓存中的时间长度（过期）](Expiration.md)。

## 最小 TTL
<a name="DownloadDistValuesMinTTL"></a>

指定您希望对象在 CloudFront 缓存中保留的最短时间（以秒为单位），在此时间之后，CloudFront 会向源发送另一个请求以确定此对象是否已更新。

**警告**  
如果最小 TTL 大于 0，CloudFront 将至少在缓存策略的最小 TTL 中指定的持续时间内缓存内容，即使源标头中存在 `Cache-Control: no-cache`、`no-store` 或 `private` 指令也是如此。

有关更多信息，请参阅 [管理内容保留在缓存中的时间长度（过期）](Expiration.md)。

## 最大 TTL
<a name="DownloadDistValuesMaxTTL"></a>

指定您希望在 CloudFront 查询您的源以了解对象是否已更新之前，对象保留在 CloudFront 缓存中的最大时长（以秒为单位）。您为**最大 TTL** 指定的值仅在源向对象添加 HTTP 标头 (例如 `Cache-Control max-age`、`Cache-Control s-maxage` 或 `Expires`) 时适用。有关更多信息，请参阅 [管理内容保留在缓存中的时间长度（过期）](Expiration.md)。

要指定 **Maximum TTL** 的值，您必须为 **Object Caching** 设置选择 **Customize** 选项。

**最大 TTL** 的默认值为 31536000 秒（一年）。如果您将**最小 TTL** 或**默认 TTL** 的值更改为一个大于 31536000 秒的值，则**最大 TTL** 的默认值将变为**默认 TTL** 的值。

## 默认 TTL
<a name="DownloadDistValuesDefaultTTL"></a>

指定您希望对象在 CloudFront 缓存中保留的默认时间（以秒为单位），在此时间之后，CloudFront 会向您的源转发另一个请求以确定此对象是否已更新。您为**默认 TTL** 指定的值仅在源*不*向对象添加 HTTP 标头（例如 `Cache-Control max-age`、`Cache-Control s-maxage` 或 `Expires`）时才适用。有关更多信息，请参阅 [管理内容保留在缓存中的时间长度（过期）](Expiration.md)。

要指定**默认 TTL** 的值，您必须为**对象缓存**设置选择**自定义**选项。

**默认 TTL** 的默认值为 86400 秒（一天）。如果您将**最小 TTL** 的值更改为一个大于 86400 秒的值，则**默认 TTL** 的默认值将更改为**最小 TTL** 的值。

## 转发 Cookie
<a name="DownloadDistValuesForwardCookies"></a>

**注意**  
对于 Amazon S3 源，此选项仅适用于配置为网站端点的存储桶。

指定是否希望 CloudFront 转发 Cookie 到您的源服务器，以及指定转发哪些 Cookie。如果您选择仅转发选定的 Cookie（Cookie 允许列表），请在**允许列表 Cookie** 字段中输入 Cookie 名称。如果选择**全部**，不管您的应用程序使用多少，CloudFront 都会转发所有 Cookie。

Amazon S3 不处理 Cookie，且将 Cookie 转发到来源会降低缓存能力。对于将请求转发到 Amazon S3 源的缓存行为，请对**转发 Cookie** 选择**无**。

有关转发 cookie 到源的更多信息，请转至 [根据 Cookie 缓存内容](Cookies.md)。

## 允许列表 Cookie
<a name="DownloadDistValuesAllowlistCookies"></a>

**注意**  
对于 Amazon S3 源，此选项仅适用于配置为网站端点的存储桶。

如果您在**转发 Cookie** 列表中选择**允许列表**，请在**允许列表 Cookie** 字段中输入您希望 CloudFront 为该缓存行为转发到原始服务器的 Cookie 的名称。在新一行中输入每个 Cookie 的名称。

可以使用以下通配符来指定 Cookie 名称：
+ **\$1** 匹配 Cookie 名称中的 0 个或多个字符
+ **?** 与 Cookie 名称中的 1 个字符完全匹配

例如，假设对象的查看器请求包含一个带以下名称的 Cookie：

`userid_member-number`

其中，您的每个用户均具有一个唯一的 *member-number* 值。您希望 CloudFront 为每个成员缓存对象的单独版本。您可以通过将所有 Cookie 转发到源来完成该操作，但查看器请求包含一些您希望 CloudFront 不要缓存的 Cookie。或者，您也可以指定以下值以作为 Cookie 名称，这会导致 CloudFront 将所有以 `userid_` 开头的 Cookie 转发到源：

`userid_*`

有关您可以为每个缓存行为列入允许列表的当前最大 cookie 名称数，或者要请求提高配额（以前称为限制），请参阅[Cookies 的配额（旧缓存设置）](cloudfront-limits.md#limits-allowlisted-cookies)。

## 查询字符串转发和缓存
<a name="DownloadDistValuesQueryString"></a>

CloudFront 可根据查询字符串参数的值来缓存不同版本的内容。请选择以下任一选项：

**无(改进缓存)**  
如果无论查询字符串参数的值如何，源都返回相同版本的对象，请选择该选项。这增加了 CloudFront 可从缓存满足请求的可能性，这提高了性能并降低了源的负载。

**全部转发，基于允许列表进行缓存**  
如果源服务器根据一个或多个查询字符串参数返回不同版本的对象，请选择该选项。然后，在 [查询字符串允许列表](#DownloadDistValuesQueryStringAllowlist) 字段中指定您希望 CloudFront 作为缓存基础的参数。

**全部转发，基于所有进行缓存**  
如果源服务器为所有查询字符串参数返回不同版本的对象，请选择该选项。

有关基于查询字符串参数进行缓存的更多信息（包括如何改进性能），请参阅[根据查询字符串参数缓存内容](QueryStringParameters.md)。

## 查询字符串允许列表
<a name="DownloadDistValuesQueryStringAllowlist"></a>

此设置仅在您为 [查询字符串转发和缓存](#DownloadDistValuesQueryString) 选择**全部转发，基于允许列表进行缓存**时才适用。您可以指定您希望 CloudFront 用作缓存基础的查询字符串参数。

## Smooth Streaming
<a name="DownloadDistValuesSmoothStreaming"></a>

如果您希望以 Microsoft Smooth Streaming 格式分发媒体文件并且您没有 IIS 服务器，则选择**是**。

如果您有 Microsoft IIS 服务器并且要将其用作以 Microsoft Smooth Streaming 格式分发媒体文件的源，或者您不打算分发 Smooth Streaming 媒体文件，则选择**否**。

**注意**  
如果您指定**是**，您仍可以使用该缓存行为分配其他内容，只要该内容与**路径模式**值匹配。

有关更多信息，请参阅 [为 Microsoft Smooth Streaming 配置点播视频](on-demand-video.md#on-demand-streaming-smooth)。

## 限制查看器访问（使用签名 URL 或签名 Cookie）
<a name="DownloadDistValuesRestrictViewerAccess"></a>

如果您希望与该缓存行为的 `PathPattern` 匹配的对象请求使用公共 URL，请选择 **No**。

如果您希望与该缓存行为的 `PathPattern` 匹配的对象请求使用签名 URL，请选择 **Yes**。然后指定您希望用于创建签名 URL 的 AWS 账户；这些账户被称为可信签署人。

有关可信签署人的更多信息，请参阅[指定可以创建签名 URL 和签名 Cookie 的签署人](private-content-trusted-signers.md)。

## 可信签署人
<a name="DownloadDistValuesTrustedSigners"></a>

仅在您为**限制查看器访问（使用签名的 URL 或签名的 Cookie）**选择**是**时才适用。

选择您希望用作此缓存行为的可信签署人的 AWS 账户：
+ **本身：**将您当前登录到 AWS 管理控制台的账户作为可信签署人。如果您目前作为 IAM 用户登录，添加相关的 AWS 账户作为可信签署人。
+ **指定账户：**在 **AWS 账号**字段中输入可信签署人的账户号码。

要创建可信签署人 URL，AWS 账户必须至少具有一个有效的 CloudFront 密钥对。

**重要**  
如果您更新您已经用于分发内容的分配，则在准备开始产生对象的签名 URL 时只添加可信签署人。在您把可信签署人添加到分配为后，用户必须使用签名 URL 访问与该缓存行为 `PathPattern` 匹配的对象。

## AWS 账户 数字
<a name="DownloadDistValuesAWSAccountNumbers"></a>

仅在您为**可信签署人**选择**指定账户**时才适用。

除当前账户之外或替代当前账户，如果您想使用 AWS 账户 创建签名 URL，请在该字段每一行输入一个 AWS 账户 号。请注意以下几点：
+ 您指定的账户必须至少具有一个有效的 CloudFront 密钥对。有关更多信息，请参阅 [为签署人创建密钥对](private-content-trusted-signers.md#private-content-creating-cloudfront-key-pairs)。
+ 您不能为 IAM 用户创建 CloudFront 密钥对，因此，不能使用 IAM 用户作为可信签署人。
+ 有关如何获取账户的 AWS 账户编号的信息，请参阅《AWS 账户管理参考指南》**中的[查看 AWS 账户标识符](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html)。
+ 如果您输入当前账户的账户号码，CloudFront 则自动选中**本身**复选框，并从 **AWS 账号**列表中删除账号。

## 自动压缩对象
<a name="DownloadDistValuesCompressObjectsAutomatically"></a>

如果您希望 CloudFront 在查看器支持压缩内容时自动压缩某些类型的文件，请选择**是**。当 CloudFront 压缩内容时，由于文件更小，因此下载速度更快，并会更快地为用户呈现网页。有关更多信息，请参阅 [提供压缩文件](ServingCompressedFiles.md)。

## CloudFront 事件
<a name="DownloadDistValuesEventType"></a>

此设置适用于 **Lambda 函数关联**。

您可以选择在以下一个或多个 CloudFront 事件发生时，运行 Lambda 函数：
+ 在 CloudFront 收到查看器的请求时（查看器请求）
+ 在 CloudFront 将请求转发到源之前（源请求）
+ 在 CloudFront 收到来自源的响应时（源响应）
+ 在 CloudFront 将响应返回到查看器之前（查看器响应）

有关更多信息，请参阅 [选择要触发函数的事件](lambda-how-to-choose-event.md)。

## Lambda 函数 ARN
<a name="DownloadDistValuesLambdaFunctionARN"></a>

此设置适用于 **Lambda 函数关联**。

指定要为其添加触发器的 Lambda 函数的 Amazon 资源名称（ARN）。要了解如何获取函数的 ARN，请参阅[使用 CloudFront 控制台添加触发器](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-edge-add-triggers.html#lambda-edge-add-triggers-cf-console)过程的步骤 1。

## 包含正文
<a name="include-body"></a>

此设置适用于 **Lambda 函数关联**。

有关更多信息，请参阅[包括正文](lambda-generating-http-responses.md#lambda-include-body-access)。