

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 配置 AWS AppConfig 代理 Lambda 扩展
<a name="appconfig-integration-lambda-extensions-config"></a>

您可以通过更改以下 AWS Lambda 环境变量来配置扩展。有关更多信息，请参阅《*AWS Lambda 开发人员指南》*中的[使用 AWS Lambda 环境变量](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html)。

**预取配置数据**

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

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

**从其他账户访问配置数据**

A AWS AppConfig gent Lambda 扩展可以通过指定授予数据[权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html)的 IAM 角色从其他账户检索配置数据。要设置此策略，请按照下列步骤操作：

1. 在 AWS AppConfig 用于管理配置数据的账户中，创建一个具有信任策略的角色，该策略允许运行 Lambda 函数的账户访问`appconfig:StartConfigurationSession`和`appconfig:GetLatestConfiguration`操作以及与 AWS AppConfig 配置资源 ARNs 对应的部分或完整操作。

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

1. （可选）如果需要，可使用 `AWS_APPCONFIG_EXTENSION_ROLE_EXTERNAL_ID` 环境变量指定[外部 ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)。同样，可使用 `AWS_APPCONFIG_EXTENSION_ROLE_SESSION_NAME` 环境变量配置会话名称。

**注意**  
请注意以下信息。  
 AWS AppConfig 代理 Lambda 扩展只能从一个账户检索数据。如果您指定 IAM 角色，则扩展将无法从运行 Lambda 函数的账户中检索配置数据。
AWS Lambda 使用亚马逊日志记录有关 AWS AppConfig 代理 Lambda 扩展和 Lambda 函数的信息。 CloudWatch 
下表包含一个**示例值**列。根据您的显示器分辨率，您可能需要滚动到表的底部，然后向右滚动才能看到该列。


****  

| 环境变量 | Details | 默认 值 | 示例值 | 
| --- | --- | --- | --- | 
|  `AWS_APPCONFIG_EXTENSION_HTTP_PORT`  |  此环境变量用于指定运行托管扩展的本地 HTTP 服务器的端口。  | 2772 | 2772 | 
|  `AWS_APPCONFIG_EXTENSION_LOG_LEVEL`  |  此环境变量指定代理记录的详细程度。每个级别包括当前级别和所有更高级别。该值不区分大小写。从最详细到最不详细，日志级别分别为：`trace`、`debug`、`info`、`warn`、`error`、`fatal` 和 `none`。`trace` 日志包含关于 Agent 的详细信息，包括时间信息。  |  info  | trace debug info warn 错误 fatal none | 
|  `AWS_APPCONFIG_EXTENSION_MAX_CONNECTIONS`  |  此环境变量配置扩展用于从 AWS AppConfig检索配置的最大连接数。  | 3 | 3 | 
|  `AWS_APPCONFIG_EXTENSION_POLL_INTERVAL_SECONDS`  |  此环境变量控制代理轮 AWS AppConfig 询更新配置数据的频率。您可以指定间隔的秒数。您还可以指定一个带有时间单位的数字：s 表示秒，m 表示分钟，h 表示小时。如果未指定单位，则代理默认为秒。例如，60 秒、60 秒和 1 分钟会产生相同的轮询间隔。  | 45 | 4545 秒5m1 小时 | 
|  `AWS_APPCONFIG_EXTENSION_POLL_TIMEOUT_MILLIS`  |  此环境变量控制扩展程序在刷新缓存中的数据 AWS AppConfig 时等待响应的最大时间（以毫秒为单位）。如果在指定的时间内 AWS AppConfig 没有响应，则扩展程序会跳过此轮询间隔并返回之前更新的缓存数据。  | 3000 毫秒 | 3000300 毫秒5 秒 | 
|  `AWS_APPCONFIG_EXTENSION_PREFETCH_LIST`  |  此环境变量指定代理启动后立即请求 AWS AppConfig 的配置数据。可以使用逗号分隔的列表提供多个配置标识符。从 AWS AppConfig 预取配置数据可以显著减少函数的冷启动时间。  | 无 | MyApp:MyEnv:MyConfigabcd123:efgh456:ijkl789MyApp:: Config1,:: Config2 MyEnv MyApp MyEnv | 
| AWS\$1APPCONFIG\$1EXTENSION\$1PROXY\$1HEADERS | 此环境变量用于指定 AWS\$1APPCONFIG\$1EXTENSION\$1PROXY\$1URL 环境变量中引用的代理所需的标头。其值是以逗号分隔的标头列表。 | 无 | header: valueh1: v1, h2: v2 | 
| AWS\$1APPCONFIG\$1EXTENSION\$1PROXY\$1URL | 此环境变量指定用于从 AWS AppConfig 扩展到的连接的代理 URL AWS 服务。 HTTPS并HTTP URLs 得到支持。 | 无 | http://localhost:7474https://my-proxy.example.com | 
| AWS\$1APPCONFIG\$1EXTENSION\$1ROLE\$1ARN | 此环境变量指定与该 AWS AppConfig 扩展程序为检索配置而应担任的角色相对应的 IAM 角色 ARN。 | 无 | arn: aws: iam:: 123456789012: role/ MyRole | 
| AWS\$1APPCONFIG\$1EXTENSION\$1ROLE\$1EXTERNAL\$1ID | 此环境变量指定要与代入角色 ARN 结合使用的外部 ID。 | 无 | MyExternalId | 
| AWS\$1APPCONFIG\$1EXTENSION\$1ROLE\$1SESSION\$1NAME | 此环境变量指定要与代入的 IAM 角色的凭证关联的会话名称。 | 无 | AWSAppConfigAgentSession | 
| AWS\$1APPCONFIG\$1EXTENSION\$1SERVICE\$1REGION | 此环境变量指定了扩展程序在调用 AWS AppConfig 服务时应使用的备用区域。如果未定义，则扩展将使用当前区域中的终端节点。 | 无 | us-east-1eu-west-1 | 
|  `AWS_APPCONFIG_EXTENSION_MANIFEST`  |  此环境变量将 AWS AppConfig Agent 配置为利用其他每个配置的功能，例如多帐户检索和将配置保存到磁盘。有关使用这些功能的更多信息，请参阅 [使用清单启用其它检索功能](appconfig-agent-how-to-use-additional-features.md)。  | 无 | 使用 AWS AppConfig 配置作为清单时:`MyApp:MyEnv:MyManifestConfig`.当从磁盘加载清单时：`file:/path/to/manifest.json` | 
|  `AWS_APPCONFIG_EXTENSION_WAIT_ON_MANIFEST`  |  此环境变量将 AWS AppConfig Agent 配置为等到清单处理完毕后再完成启动。  | true | truefalse | 