77个版本 (38个稳定版)
新 1.39.0 | 2024年8月16日 |
---|---|
1.36.0 | 2024年7月22日 |
1.18.0 | 2024年3月26日 |
1.9.0 | 2023年12月21日 |
0.3.0 | 2021年12月15日 |
#7 in #session
1,274 每月下载量
在 aws-mocks 中使用
380KB
5.5K SLoC
aws-sdk-appconfigdata
AppConfig Data提供了应用使用的数据面API来检索配置数据。以下是工作原理:
应用通过使用AppConfig Data StartConfigurationSession API操作首先建立配置会话来检索配置数据。然后,会话客户端定期调用GetLatestConfiguration以检查和检索最新的可用数据。
调用StartConfigurationSession时,您的代码发送以下信息:
- 会话跟踪的AppConfig应用程序、环境和配置配置文件的标识符(ID或名称)。
- (可选) 会话客户端在两次调用GetLatestConfiguration之间必须等待的最短时间。
作为响应,AppConfig提供InitialConfigurationToken,将其提供给会话客户端,并在会话第一次调用GetLatestConfiguration时使用。
此令牌仅在第一次调用GetLatestConfiguration时使用一次。您必须在每次随后的GetLatestConfiguration调用中,使用GetLatestConfiguration响应(NextPollConfigurationToken)中的新令牌。
调用GetLatestConfiguration时,您的客户端代码发送其拥有的最新的ConfigurationToken值,并接收以下响应:
- NextPollConfigurationToken:下一次调用GetLatestConfiguration时要使用的ConfigurationToken值。
- NextPollIntervalInSeconds:客户端在下次调用GetLatestConfiguration之前应等待的持续时间。此持续时间可能会在会话过程中变化,因此应使用它而不是StartConfigurationSession调用中发送的值。
- 配置:为会话准备的最新数据。如果客户端已拥有配置的最新版本,则这可能为空。
InitialConfigurationToken和NextPollConfigurationToken只能使用一次。为了支持长时间轮询用例,令牌有效期最长为24小时。如果GetLatestConfiguration调用使用已过期的令牌,则系统返回BadRequestException。
有关更多信息以及查看如何使用AppConfig Data StartConfigurationSession和GetLatestConfiguration API操作检索配置的示例CLI命令,请参阅《AppConfig 用户指南》中的“检索配置”。
入门指南
许多服务和操作都有示例,请查看GitHub上的示例文件夹。
SDK为每个AWS服务提供一个crate。您必须在Rust项目中添加Tokio作为依赖项以执行异步代码。要将aws-sdk-appconfigdata
添加到您的项目中,请将以下内容添加到您的Cargo.toml文件中
[dependencies]
aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
aws-sdk-appconfigdata = "1.39.0"
tokio = { version = "1", features = ["full"] }
然后在代码中,可以使用以下方式创建客户端
use aws_sdk_appconfigdata as appconfigdata;
#[::tokio::main]
async fn main() -> Result<(), appconfigdata::Error> {
let config = aws_config::load_from_env().await;
let client = aws_sdk_appconfigdata::Client::new(&config);
// ... make some calls with the client
Ok(())
}
有关可以进行的调用以及每个调用的输入和输出的信息,请参阅客户端文档。
使用SDK
在SDK发布之前,我们将向开发者指南中添加有关使用SDK的信息。您可以打开一个issue并描述您想要执行的操作,以提出指南的附加部分建议。
获取帮助
- GitHub讨论区 - 用于想法、RFC和一般问题
- GitHub问题 - 用于错误报告和功能请求
- 生成的文档(最新版本)
- 使用示例
许可证
本项目采用Apache-2.0许可证。
依赖关系
~8–20MB
~281K SLoC