Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
创建函数
创建函数的过程分为两个阶段:
-
将函数代码编写为 JavaScript。您可以使用来自 CloudFront 控制台的默认示例,也可以自行编写。有关更多信息,请参阅以下主题:
-
使用 CloudFront 创建函数并包括您的代码。代码位于函数内部(不是作为引用)。
- Console
-
创建函数
-
通过 https://console.amazonaws.cn/cloudfront/v4/home#/functions 登录到 CloudFront 控制台,然后选择函数页面。
-
选择 Create function (创建函数)。
-
输入在 Amazon Web Services 账户中唯一的函数名称,选择 JavaScript 版本,然后选择继续。此时将显示新函数的详细信息页面。
要在函数中使用键值对,您必须选择 JavaScript 运行时 2.0。
-
在函数代码部分,选择构建选项卡,然后输入您的函数代码。构建选项卡中包含的代码示例说明了函数代码的基本语法。
-
选择保存更改。
-
如果函数代码使用键值对,则必须关联键值存储。
您可在首次创建函数时关联键值存储。或者,您也可以稍后通过更新函数来关联它。
要立即关联键值存储,请执行以下步骤:
CloudFront 会立即将存储与该函数关联。您无需保存此函数。
- CLI
-
如果您使用 CLI,则通常需要首先在文件中创建函数代码,然后使用 Amazon 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
该命令成功执行后,您会看到类似以下内容的输出。
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 – Amazon Web Services 账户。
-
Stage
– 函数的阶段(LIVE
或 DEVELOPMENT
)。
-
Status
– 函数的状态(PUBLISHED
或 UNPUBLISHED
)。
函数在创建后,将添加到 DEVELOPMENT
阶段。我们建议您在发布函数之前对其进行测试。在您发布函数后,函数将变为 LIVE
状态。