选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

确定函数用途

聚焦模式
确定函数用途 - Amazon CloudFront

在编写函数代码之前,请确定函数的用途。CloudFront Functions 中的大多数函数都具有以下用途之一。

无论函数的用途是什么,handler 都是任何函数的入口点。它采用一个名为 event 的参数,该参数通过 CloudFront 传递到函数中。event 是一个 JSON 对象,它包含 HTTP 请求的表示形式(以及响应,如果您的函数修改了 HTTP 响应)。

在查看器请求事件类型中修改 HTTP 请求

您的函数可以修改 CloudFront 从查看器(客户端)收到的 HTTP 请求,然后将修改后的请求返回给 CloudFront 以继续处理。例如,您的函数代码可能会归一化缓存键或修改请求标头。

当您创建修改 HTTP 请求的函数时,请确保选择查看器请求事件类型。这意味着,在检查请求的对象是否在 CloudFront 缓存中之前,每当 CloudFront 收到来自查看器的请求时,该函数都会运行。

例 示例

以下伪代码显示了修改 HTTP 请求的函数的结构。

function handler(event) { var request = event.request; // Modify the request object here. return request; }

该函数将修改后的 request 对象返回给 CloudFront。CloudFront 继续处理返回的请求,方法是检查 CloudFront 缓存是否存在缓存命中,并在必要时将请求发送到源。

在查看器请求事件类型中生成 HTTP 响应

您的函数可以在边缘生成 HTTP 响应并直接将其返回给查看器(客户端),而无需检查缓存的响应或由 CloudFront 进一步处理。例如,您的函数代码可能会将请求重定向到新的 URL,或者检查授权并将 401403 响应返回至未经授权的请求。

创建生成 HTTP 响应的函数时,请确保选择查看器请求事件类型。这意味着,每当 CloudFront 收到来自查看器的请求时,在 CloudFront 对请求进行任何进一步处理之前,该函数都会运行。

例 示例

以下伪代码显示了生成 HTTP 响应的函数的结构。

function handler(event) { var request = event.request; var response = ...; // Create the response object here, // using the request properties if needed. return response; }

该函数将 response 对象返回给 CloudFront,CloudFront 立即将其返回给查看器,而无需检查 CloudFront 缓存或向源发送请求。

在查看器响应事件类型中修改 HTTP 响应

您的函数可以在 CloudFront 将 HTTP 响应发送到查看器(客户端)之前修改 HTTP 响应,无论响应来自 CloudFront 缓存还是源。例如,您的函数代码可能会添加或修改响应标头、状态代码和正文内容。

当您创建修改 HTTP 响应的函数时,请确保选择查看器响应事件类型。这意味着,该函数在 CloudFront 向查看器返回响应之前运行,无论响应来自 CloudFront 缓存还是源。

例 示例

以下伪代码显示了修改 HTTP 响应的函数的结构。

function handler(event) { var request = event.request; var response = event.response; // Modify the response object here, // using the request properties if needed. return response; }

该函数将修改后的 response 对象返回给 CloudFront,CloudFront 会立即将其返回给查看器。

有关使用 CloudFront Functions 的更多信息,请参阅以下主题:

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。