1个稳定版本
1.0.0 | 2024年7月31日 |
---|
834 在 网络编程 中排名
132 每月下载量
在 aws_secretsmanager_agent 中使用
51KB
963 行
AWS Secrets Manager Rust缓存客户端
AWS Secrets Manager Rust缓存客户端允许Rust应用程序在进程内缓存密钥。
入门
必备条件
要使用此客户端,您必须拥有
- Rust 2021开发环境。如果您没有,请访问Rust编程语言网站上的 Rust入门,然后下载并安装Rust。
- 一个AWS账户,以访问存储在AWS Secrets Manager中的密钥。
- 要创建AWS账户,请访问 登录或创建AWS账户,然后选择 我是一个新用户。 按照说明创建AWS账户。
- 要在AWS Secrets Manager中创建密钥,请访问 创建密钥 并按照页面上的说明操作。
开始使用
以下代码示例演示了如何开始使用
- 实例化缓存客户端。
- 请求密钥。
cargo add tokio -F rt-multi-thread,net,macros
cargo add aws_secretsmanager_caching
use aws_secretsmanager_caching::SecretsManagerCachingClient;
use std::num::NonZeroUsize;
use std::time::Duration;
let client = match SecretsManagerCachingClient::default(
NonZeroUsize::new(1000).unwrap(),
Duration::from_secs(300),
)
.await
{
Ok(c) => c,
Err(_) => panic!("Handle this error"),
};
let secret_string = match client.get_secret_value("MyTest", None, None).await {
Ok(s) => s.secret_string.unwrap(),
Err(_) => panic!("Handle this error"),
};
// Your code here
缓存配置
max_size: NonZeroUsize
:在淘汰最近未访问的密钥之前,维护的最大缓存密钥数量。ttl: Duration
:缓存项被视为有效前的持续时间,在此之后需要刷新密钥状态。
使用自定义配置和自定义客户端实例化缓存
cargo add aws_sdk_secretsmanager aws_config
let config = aws_config::load_defaults(BehaviorVersion::latest())
.await
.into_builder()
.region(Region::from_static("us-west-2"))
.build();
let asm_builder = aws_sdk_secretsmanager::config::Builder::from(&config);
let client = match SecretsManagerCachingClient::from_builder(
asm_builder,
NonZeroUsize::new(1000).unwrap(),
Duration::from_secs(300),
)
.await
{
Ok(c) => c,
Err(_) => panic!("Handle this error"),
};
let secret_string = client
.get_secret_value("MyTest", None, None)
.await
{
Ok(c) => c.secret_string.unwrap(),
Err(_) => panic!("Handle this error"),
};
// Your code here
获取帮助
请使用以下社区资源获取帮助
- 在 Stack Overflow 上提问并标记为 aws-secrets-manager。
- 通过 AWS支持 提交支持工单
- 如果发现可能是一个错误,或有功能请求,请 提交问题。
依赖项
~17MB
~314K SLoC