通过直接调用 API 获取配置 - Amazon AppConfig
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

通过直接调用 API 获取配置

您的应用程序首先使用 StartConfigurationSessionAPI 操作建立配置会话来检索配置数据。然后,您的会话客户端会定期调用 GetLatestConfiguration 以检查和检索最新的可用数据。

在调用 StartConfigurationSession 时,代码发送以下信息:

  • 会话跟踪的 Amazon AppConfig 应用程序、环境和配置文件的标识符(ID 或名称)。

  • (可选)会话的客户端在调用至 GetLatestConfiguration 之间必须等待的最短时间。

作为响应, Amazon AppConfig 提供InitialConfigurationToken给会话的客户端,并在首次调GetLatestConfiguration用该会话时使用。

重要

此令牌在第一次调用 GetLatestConfiguration 时只能使用一次。您必须在对 GetLatestConfiguration 的每次后续调用中在 GetLatestConfiguration 响应 (NextPollConfigurationToken) 中使用新令牌。为了支持长时间轮询用例,令牌的有效期最长为 24 小时。如果 GetLatestConfiguration 调用使用过期的令牌,系统将返回 BadRequestException

调用 GetLatestConfiguration 时,您的客户端代码会发送它所拥有的最新 ConfigurationToken 值,并接收响应:

  • NextPollConfigurationToken:下次调用 GetLatestConfiguration 时要使用的 ConfigurationToken 值。

  • NextPollIntervalInSeconds:客户端在下次调用 GetLatestConfiguration 之前应等待的持续时间。

  • 配置:用于会话的最新数据。如果客户端已有最新版本的配置,则此字段可能为空。

重要

请注意以下重要信息。

  • 每个应用程序、环境、配置文件和客户端只能调用一次 StartConfigurationSessionAPI,才能与服务建立会话。这通常在应用程序启动时或首次检索配置之前完成。

  • 如果您的配置是使用 KmsKeyIdentifier 部署的,则接收配置的请求必须包含调用 kms:Decrypt 的权限。有关更多信息,请参阅 Amazon Key Management Service API 参考 中的 Decrypt

  • 以前用于检索配置数据的 API 操作 GetConfiguration 已弃用。GetConfiguration API 接口不支持加密配置。

检索配置示例

以下 Amazon CLI 示例演示如何使用数据StartConfigurationSessionGetLatestConfiguration API 操作检索配置 Amazon AppConfig 数据。第一个命令启动配置会话。此调用包括 Amazon AppConfig 应用程序、环境和配置文件的 ID(或名称)。API 返回用于获取配置数据的 InitialConfigurationToken

aws appconfigdata start-configuration-session \ --application-identifier application_name_or_ID \ --environment-identifier environment_name_or_ID \ --configuration-profile-identifier configuration_profile_name_or_ID

系统使用以下格式的信息进行响应。

{ "InitialConfigurationToken": initial configuration token }

启动会话后,InitialConfigurationToken使用调GetLatestConfiguration用获取您的配置数据。配置数据将保存到 mydata.json 文件中。

aws appconfigdata get-latest-configuration \ --configuration-token initial configuration token mydata.json

GetLatestConfiguration 的第一次调用使用从 StartConfigurationSession 获取的 ConfigurationToken。返回信息如下。

{ "NextPollConfigurationToken" : next configuration token, "ContentType" : content type of configuration, "NextPollIntervalInSeconds" : 60 }

GetLatestConfiguration 的后续调用必须提供上一个响应的 NextPollConfigurationToken

aws appconfigdata get-latest-configuration \ --configuration-token next configuration token mydata.json
重要

请注意有关 GetLatestConfiguration API 操作的以下重要详细信息:

  • GetLatestConfiguration 响应包括显示配置数据的 Configuration 部分。仅当系统找到新的或更新的配置数据时,才会显示 Configuration 部分。如果系统找不到新的或更新的配置数据,则 Configuration 数据为空。

  • 在来自 GetLatestConfiguration 的每个响应中,您都会收到一个新的 ConfigurationToken

  • 我们建议您根据预算、配置部署的预期频率以及配置目标数以调整 GetLatestConfiguration API 调用的轮询频率。