本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建函数
您可以分两个阶段创建函数。首先,在外部将函数代码创建为 Java 脚本 CloudFront。然后 CloudFront ,您可以使用创建函数并包含代码。代码位于函数内部(不是作为引用)。
新函数已添加到 DEVELOPMENT
阶段中。您必须发布该函数,才能将其复制到 LIVE
阶段。
- Console
-
创建函数(控制台)
-
登录Amazon Web Services Management Console并在 CloudFront 控制台中打开功能页面,网址为https://console.amazonaws.cn/cloudfront/v4/home#/functions
。 -
选择创建函数。
-
输入在 Amazon 账户中具有唯一性的函数名称,选择 Java 脚本版本,然后选择继续。该函数现已存在。此时将显示新函数的详细信息页面。
注意
如果要在函数中使用键值对,则必须选择 Java 脚本 2.0。
-
在函数代码部分,选择构建选项卡并输入您的函数代码。构建选项卡中包含的代码示例说明了函数代码的基本语法。您可以按如下方式完成代码:
-
使用默认函数,这样您就可以开始了。
-
将其替换为从示例代码中复制的代码 GitHub
。 -
用您自己的代码替换它。
有关编写函数代码的更多信息,请参阅以下内容:
-
-
随时选择保存更改以保存函数代码。
-
如果函数代码使用键值对,则必须关联键值存储。
您可以在初次创建函数时关联键值存储。或者,也可以稍后通过更新函数关联它。
要立即关联键值存储,请执行以下步骤:
-
前往 “关联 KeyValueStore” 部分,然后选择 “关联现有员工” KeyValueStore。
-
选择包含函数中键值对的键值存储,然后选择 “关联” KeyValueStore。
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::1:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]}" \ --function-code fileb://function-max-age-v1.js
注意:
-
Runtime
:Java 脚本的版本。如果要在函数中使用键值对,则必须指定版本 2.0。 -
KeyValueStoreAssociations
:如果您的函数使用键值对,则可以在函数的初始创建期间关联键值存储。或者,您可以稍后使用update-function
关联它。Quantity
始终为1
,因为每个函数只能有一个与之关联的键值存储。
该命令成功执行后,您会看到类似以下内容的输出。
ETag: ETVABCEXAMPLE FunctionSummary: FunctionConfig: Comment: Max Age 2 years Runtime: cloudfront-js-2.0 KeyValueStoreAssociations= \ {Quantity=1, \ Items=[{KeyValueStoreARN='arn:aws:cloudfront::1: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::111122223333:function/MaxAge
请求中的大部分信息都是重复的。其他信息由添加 CloudFront。请注意以下几点:
-
ETag
:每次修改键值存储时,此值都会发生变化。将来,您可以使用此值和函数名称来引用该函数。确保始终使用当前的 ETag。 -
FunctionARN
-
Stage
-
Status
-