

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

# 为非原生数据来源创建配置配置文件
<a name="appconfig-creating-configuration-profile-other-data-sources"></a>

Amazon AppConfig 支持从大多数数据存储中部署配置数据。原生支持方面， Amazon AppConfig 支持部署存储在以下服务中的配置数据：
+  Amazon AppConfig 托管的配置存储
+ Amazon S3
+ Amazon Secrets Manager
+ Amazon Systems Manager 参数存储
+ Systems Manager 文档存储
+ Amazon CodePipeline

如果您的配置数据存储在原生不支持的位置 Amazon AppConfig，则可以创建一个[Amazon AppConfig 扩展程序](https://docs.amazonaws.cn/appconfig/latest/userguide/working-with-appconfig-extensions.html)来从其源中检索数据。例如，通过使用 Amazon AppConfig 扩展，您可以检索存储在亚马逊关系数据库服务 (Amazon RDS)、亚马逊 DynamoDB (DynamoDB GitHub) 或本地存储库中的配置数据 GitLab，仅举几例。通过实施扩展，您可以利用应用程序和计算环境 Amazon AppConfig 的安全性和 DevOps 增强功能。在将配置数据从遗留系统迁移到 Amazon AppConfig时，您也可以使用此方法。

为 Amazon AppConfig 中非原生支持的数据来源创建配置配置文件涉及以下过程或操作：

1. 创建一个 [Amazon Lambda 函数](https://docs.amazonaws.cn/lambda/latest/dg/welcome.html)，用于从您的数据来源获取数据。只要 Lambda 函数可以访问数据源，您的 Amazon AppConfig 扩展程序就可以检索数据。

1. 创建用于调用您的 Lambda 函数的自定义 Amazon AppConfig 扩展。有关更多信息，请参阅 [演练：创建自定义扩展 Amazon AppConfig](working-with-appconfig-extensions-creating-custom.md)。

1. 创建 Amazon AppConfig 自由格式的配置文件。具体来说，创建一个使用 **Amazon AppConfig 托管配置**定义的配置配置文件。配置配置文件在您的 Lambda 函数从源检索配置后充当临时数据存储。您的应用程序将从 Amazon AppConfig 托管配置存储中检索配置数据。有关更多信息，请参阅 [在中创建自由表单配置文件 Amazon AppConfig](appconfig-free-form-configurations-creating.md)。

1. 创建一个扩展关联，使用 `PRE_CREATE_HOSTED_CONFIGURATION_VERSION` 操作点触发。有关更多信息，请参阅 [步骤 4：为自定义扩展程序创建 Amazon AppConfig 扩展关联](working-with-appconfig-extensions-creating-custom-association.md)。

一旦配置完成，当您的应用程序请求新版本的配置数据时，Lambda 会获取您的配置数据并将其拉入配置配置文件。 Amazon AppConfig 然后保存配置配置文件和您的第三方数据。

当您准备好时，您可以将配置配置文件部署到您的应用程序，就像任何其他类型的配置数据一样。

**注意**  
您可以选择将第三方数据插入到现有配置数据中，或者使配置数据的全部内容仅包含第三方数据。如果您希望数据与其他现有数据一致，该逻辑应作为从第三方源导入数据的 Lambda 函数的一部分。

## Amazon AppConfig 从传统和本土配置服务迁移到本土配置服务
<a name="appconfig-creating-configuration-profile-other-data-sources-migrating"></a>

如果您已开始使用 Amazon AppConfig 旧版配置数据或功能标志，但仍有其他系统中的旧配置数据或功能标志，则可以使用本主题前面介绍的过程从旧系统迁移到旧系统上 Amazon AppConfig。你可以构建一个扩展程序，将数据从旧系统中提取出来并通过它进行部署。 Amazon AppConfig以这种 Amazon AppConfig 方式使用可以为你提供所有的安全护栏控制和好处，同时仍然使用你的传统数据存储。