8个版本
0.1.9 | 2024年2月13日 |
---|---|
0.1.8 | 2022年8月3日 |
0.1.7 | 2022年7月21日 |
0.1.6 | 2022年2月18日 |
0.1.3 | 2021年12月9日 |
#125 in 配置
每月49次下载
44KB
989 行
Cloud Foundry环境
一个小型库,让您能够快速使用Cloud Foundry环境的类型化环境变量。
目标
- 移除使用cf的项目中的样板代码
- 利用Rust的强大功能以类型化的方式获取环境变量
- 为您提供定义自定义值(如凭据结构)的灵活性,以满足您的需求
使用方法
将此Crate添加到依赖项即可轻松获取。
[dependencies]
cf-env = "0.1.7"
之后,只需检查您需要的内容并获取它,您还可以查看docs.rs页面。例如CF_INSTANCE_INDEX
let instance_index = cf_env::get_instance_index().unwrap();
或者例如,如果您需要获取一些凭据
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
pub struct CustomCredentials {
pub password: String,
pub username: String,
pub host: String,
pub port: u16,
}
// After that you can use it
let service = cf_env::get_service_by_name::<CustomCredentials>("my_db").unwrap();
如果您无论如何都要解析它并处理来自serde_json
的Value
枚举,则不需要类型化的凭据。
use serde_json::Value;
use cf_env::Service;
let service: Service<Value> = cf_env::get_service_by_name("my_db").unwrap();
let uri = service.credentials["uri"].as_str().unwrap();
依赖项
~3.5–5.5MB
~101K SLoC