2 个版本
0.1.1 | 2022 年 8 月 27 日 |
---|---|
0.1.0 | 2022 年 8 月 26 日 |
#667 in #aws-sdk
27KB
153 行
aws-secrets
检索 AWS 机密并与 Secrets Manager 以及 SSM 参数存储 交互。
这个库与 Cargo 一起工作,需要像下面的 Cargo.toml
这样的配置
[dependencies]
aws-secrets = { version = "0.1.1", features = ["all"] }
serde_json = "1" # optional
tokio = { version = "1", features = ["full"] }
入门指南
向您的应用程序添加一些用法。以下是在代码中使用 aws-secrets
的示例。
注意:此示例需要启用
all
功能。
use aws_secrets::{config_from_env, SSMParamExt, SecretsExt};
use serde_json::{to_string, Value};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let shared_config = config_from_env().await;
// Retrieve a secret from AWS Secrets Manager
let secret_name = "my-secret";
let value: Value = secret_name.get_secret(&shared_config).await?;
let secret_string = to_string(&value)?;
println!("[{secret_name}] Retrieved secret. value={secret_string}");
// Retrieve a parameter from AWS SSM Parameter Store
let param_name = "/my/secure/param";
let value = param_name.get_secure_string(&shared_config).await?;
println!("[{param_name}] Retrieved parameter. value={value:?}");
Ok(())
}
示例
您可以在 GitHub 项目的 examples/ 文件夹中查看此库的示例用法。
依赖项和功能
此库仅使用最小必需的依赖项,以保持整体大小较小。它利用 AWS SDK for Rust 来调用 AWS API。
注意:必须单独启用任何所需功能,因为默认没有启用任何功能。
可用功能
all
- 启用对 AWS Secrets Manager 和 SSM 参数存储的支持。params
- 启用对 AWS SSM 参数存储的支持。sm
- 启用对 AWS Secrets Manager 的支持。
启用功能
更新项目的 Cargo.toml
以包含要启用的任何可选功能
[dependencies]
aws-secrets = { version = "*", features = ["all"] }
贡献
欢迎贡献!提交一个 pull request 来修复错误,或者 提交一个问题 来讨论新功能或更改。
有关更多信息,请查看文档中的 贡献 部分。
许可证
本项目自豪地采用 MIT 许可证 (LICENSE 或 http://opensource.org/licenses/MIT)。
aws-secrets
可以根据 MIT 许可证进行分发。贡献将接受相同的许可证。
作者
依赖项
~17–26MB
~534K SLoC