配置 Amazon AppConfig 代理 Lambda 扩展 - Amazon AppConfig
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

配置 Amazon AppConfig 代理 Lambda 扩展

您可以通过更改以下 Amazon Lambda 环境变量配置扩展。有关更多信息,请参阅《Amazon Lambda 开发者指南》中的使用 Amazon Lambda 环境变量

预取配置数据

环境变量 AWS_APPCONFIG_EXTENSION_PREFETCH_LIST 可以改善函数的启动时间。初始化 Amazon AppConfig 代理 Lambda 扩展时,它会在 Lambda 开始初始化函数和调用处理程序之前从 Amazon AppConfig 检索指定的配置。在某些情况下,在函数请求配置数据之前,配置数据已在本地缓存中可用。

要使用预取功能,请将环境变量的值设置为与配置数据对应的路径。例如,如果您的配置对应于分别名为 “my_application”、“my_environmention” 和 “my_configuration_data” 的应用程序、环境和配置文件,则路径将为 /applications/my_application/environments/my_environment/configurations/my_configuration_data。您可以通过以逗号分隔的列表列出多个配置项目来指定这些配置项目(如果资源名称中包含逗号,请使用资源的 ID 值而不是其名称)。

从其他账户访问配置数据

Amazon AppConfig 代理 Lambda 扩展可通过指定向数据授予权限的 IAM 角色,从其他账户检索配置数据。要设置此策略,请按照下列步骤操作:

  1. 在使用 Amazon AppConfig 管理配置数据的账户中,创建一个具有信任策略的角色,该策略授予运行 Lambda 函数的账户访问 appconfig:StartConfigurationSessionappconfig:GetLatestConfiguration 操作以及与 Amazon AppConfig 配置资源对应的部分或完整 ARN。

  2. 在运行 Lambda 函数的账户中,使用在步骤 1 中创建的角色的 ARN 将 AWS_APPCONFIG_EXTENSION_ROLE_ARN 环境变量添加到 Lambda 函数中。

  3. (可选)如果需要,可使用 AWS_APPCONFIG_EXTENSION_ROLE_EXTERNAL_ID 环境变量指定外部 ID。同样,可使用 AWS_APPCONFIG_EXTENSION_ROLE_SESSION_NAME 环境变量配置会话名称。

注意

请注意以下信息。

  • Amazon AppConfig 代理 Lambda 扩展只能从一个账户检索数据。如果您指定 IAM 角色,则扩展将无法从运行 Lambda 函数的账户中检索配置数据。

  • 使用 Amazon CloudWatch Logs Amazon Lambda 记录关于 Amazon AppConfig 代理 Lambda 扩展和 Lambda 函数的信息。

  • 下表包含一个示例值列。根据您的显示器分辨率,您可能需要滚动到表格底部,然后向右滚动以查看该列。

环境变量 详细信息 默认值 示例值

AWS_APPCONFIG_EXTENSION_HTTP_PORT

此环境变量用于指定运行托管扩展的本地 HTTP 服务器的端口。

2772 2772

AWS_APPCONFIG_EXTENSION_LOG_LEVEL

此环境变量指定代理记录的详细程度。每个级别包括当前级别和所有更高级别。该值不区分大小写。从最详细到最不详细,日志级别为:tracedebuginfowarnerrorfatalnonetrace 日志包含关于代理的详细信息,包括时间信息。

info

trace

debug

info

warn

error

fatal

none

AWS_APPCONFIG_EXTENSION_MAX_CONNECTIONS

此环境变量配置扩展用于从 Amazon AppConfig 检索配置的最大连接数。

3 3

AWS_APPCONFIG_EXTENSION_POLL_INTERVAL_SECONDS

此环境变量控制代理轮询 Amazon AppConfig 以获取更新的配置数据的频率。您可以指定间隔的秒数。您还可以指定一个带有时间单位的数字:s 表示秒,m 表示分钟,h 表示小时。如果未指定单位,则代理默认为秒。例如,60 秒、60 秒和 1 分钟会产生相同的轮询间隔。

45

45

45 秒

5m

1 小时

AWS_APPCONFIG_EXTENSION_POLL_TIMEOUT_MILLIS

此环境变量控制扩展在刷新缓存中的数据时等待 Amazon AppConfig 响应的最大时间(以毫秒为单位)。如果 Amazon AppConfig 在指定的时间内未响应,则扩展会跳过此轮询间隔,并返回之前更新的缓存数据。

3000 毫秒

3000

300 毫秒

5 秒

AWS_APPCONFIG_EXTENSION_PREFETCH_LIST

此环境变量指定代理启动后立即从 Amazon AppConfig 请求的配置数据。可以使用逗号分隔的列表提供多个配置标识符。从 Amazon AppConfig 预取配置数据可以显著减少函数的冷启动时间。

MyApp:MyEnv:MyConfig

abcd123:efgh456:ijkl789

MyApp:MyEnv:Config1,MyApp:MyEnv:Config2

AWS_APPCONFIG_EXTENSION_PROXY_HEADERS 此环境变量用于指定 AWS_APPCONFIG_EXTENSION_PROXY_URL 环境变量中引用的代理所需的标头。其值是以逗号分隔的标头列表。

header: value

h1: v1, h2: v2

AWS_APPCONFIG_EXTENSION_PROXY_URL 此环境变量指定用于从 Amazon AppConfig 扩展到 Amazon Web Services 服务 的连接的代理 URL 。支持 HTTPSHTTP URL。

http://localhost:7474

https://my-proxy.example.com

AWS_APPCONFIG_EXTENSION_ROLE_ARN 此环境变量指定与 Amazon AppConfig 扩展应代入的角色相对应的 IAM 角色 ARN,以检索配置。 arn:aws:iam::123456789012:role/MyRole
AWS_APPCONFIG_EXTENSION_ROLE_EXTERNAL_ID 此环境变量指定要与代入角色 ARN 结合使用的外部 ID。 MyExternalId
AWS_APPCONFIG_EXTENSION_ROLE_SESSION_NAME 此环境变量指定要与代入的 IAM 角色的凭证关联的会话名称。 AWSAppConfigAgentSession
AWS_APPCONFIG_EXTENSION_SERVICE_REGION 此环境变量指定扩展应用于调用 Amazon AppConfig 服务的备用区域。如果未定义,则扩展将使用当前区域中的终端节点。

us-east-1

eu-west-1

AWS_APPCONFIG_EXTENSION_MANIFEST

此环境变量配置 Amazon AppConfig 代理来利用其它每配置功能,如多账户检索 和将配置保存到磁盘。有关使用这些功能的更多信息,请参阅 使用清单启用其它检索功能

当使用 Amazon AppConfig 配置作为清单时:MyApp:MyEnv:MyManifestConfig

当从磁盘加载清单时:file:/path/to/manifest.json

AWS_APPCONFIG_EXTENSION_WAIT_ON_MANIFEST

此环境变量配置 Amazon AppConfig 代理,使其在完成启动之前等待清单处理完毕。

true

true

false