

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

# 添加 Amazon AppConfig 代理 Lambda 扩展
<a name="appconfig-integration-lambda-extensions-add"></a>

要使用 Amazon AppConfig 代理 Lambda 扩展，您需要将扩展程序添加到您的 Lambda 中。这可以通过将 Amazon AppConfig 代理 Lambda 扩展作为层添加到您的 Lambda 函数中，或者在 Lambda 函数上启用该扩展作为容器映像来实现。

**注意**  
该 Amazon AppConfig 扩展程序与运行时无关，并且支持所有运行时。

**开始前的准备工作**  
在启用 Amazon AppConfig 代理 Lambda 扩展之前，请执行以下操作：
+ 在 Lambda 函数中组织配置，以便将其外部化为 Amazon AppConfig。
+ 创建 Amazon AppConfig 构件和配置数据，包括功能标志或自由格式配置数据。有关更多信息，请参阅 [在中创建功能标志和自由格式配置数据 Amazon AppConfig](creating-feature-flags-and-configuration-data.md)。
+ 在 Lambda 函数执行角色使用的 Amazon Identity and Access Management (IAM) 策略中添加`appconfig:StartConfigurationSession`和`appconfig:GetLatestConfiguration`。有关更多信息，请参阅*Amazon Lambda 开发人员指南* 中的 [Amazon Lambda 执行角色](https://docs.amazonaws.cn/lambda/latest/dg/lambda-intro-execution-role.html)。有关 Amazon AppConfig 权限的更多信息，请参阅*《服务授权参考》*中的 [Amazon AppConfig操作、资源和条件键](https://docs.amazonaws.cn/service-authorization/latest/reference/list_awsappconfig.html)。

## 使用层和 ARN 添加 Amazon AppConfig 代理 Lambda 扩展
<a name="appconfig-integration-lambda-extensions-enabling"></a>

要使用 Amazon AppConfig 代理 Lambda 扩展，您需要将该扩展作为一个层添加到 Lambda 函数中。有关如何向函数添加层的信息，请参阅《*Amazon Lambda 开发者指南*》中的[配置扩展](https://docs.amazonaws.cn/lambda/latest/dg/using-extensions.html#using-extensions-config)。 Amazon Lambda 控制台中扩展的名称是 **Amazon-AppConfig-** Extension。另请注意，当您将扩展作为层添加到 Lambda 时，您必须指定 Amazon 资源名称（ARN）。从以下列表中选择一个 ARN，该列表与平台和您创建 Lambda 的 Amazon Web Services 区域 位置相对应。
+ [x86-64 平台](appconfig-integration-lambda-extensions-versions.md#appconfig-integration-lambda-extensions-enabling-x86-64)
+ [ARM64 平台](appconfig-integration-lambda-extensions-versions.md#appconfig-integration-lambda-extensions-enabling-ARM64)

如果您想在将扩展添加到函数中之前对其进行测试，可以使用以下代码示例来验证其是否有效。

```
import urllib.request
                

def lambda_handler(event, context):
    url = f'http://localhost:2772/applications/application_name/environments/environment_name/configurations/configuration_name'
    config = urllib.request.urlopen(url).read()
    return config
```

要对其进行测试，请为 Python 创建一个新的 Lambda 函数，添加扩展，然后运行 Lambda 函数。运行 Lambda 函数后，Lambd Amazon AppConfig a 函数会返回您为 http://localhost:2772 路径指定的配置。有关如何创建 Lambda 函数的信息，请参阅 *Amazon Lambda 《 Lambda 开发人员指南》*中的 [使用控制台创建 Lambda 函数](https://docs.amazonaws.cn/lambda/latest/dg/getting-started-create-function.html)。

**重要**  
您可以在日志中查看 Ag Amazon AppConfig ent Lambda 扩展程序的 Amazon Lambda 日志数据。日志条目以 `appconfig agent` 开头。以下为示例。  

```
[appconfig agent] 2024/05/07 04:19:01 ERROR retrieve failure for 'SourceEventConfig:SourceEventConfigEnvironment:SourceEventConfigProfile': StartConfigurationSession: api error AccessDenied: User: arn:aws:sts::0123456789:assumed-role/us-east-1-LambdaRole/extension1 is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::0123456789:role/test1 (retry in 60s)
```