4个版本 (1个稳定版)
1.0.1 | 2022年7月14日 |
---|---|
0.2.0 | 2022年7月12日 |
0.1.1 | 2022年5月24日 |
0.1.0 | 2022年5月24日 |
#336 在 身份验证
每月38次下载
在 2 crate 中使用
120KB
425 代码行
什么是STRM Privacy
STRMPrivacy 是一个专注于隐私(和安全)的数据处理平台。在数据合同中定义数据形状和隐私影响,我们将处理所有必要的转换,并将数据分割成隐私流,这是一个专用目的的数据接口,例如,它只包含匿名数据。
STRMPrivacy rust驱动程序
此crate提供了一种方便的驱动程序,用于身份验证并向STRMPrivacy API发送事件。
驱动程序由以下两个主要组件组成
StrmPrivacyClient
:连接到STRMPrivacy后端的客户端StrmPrivacyValue
:将结构和模式转换为客户端可以发送的值的Trait
基于STRMPrivacy模式生成结构
当使用我们的cli
时,我们可以使用以下命令根据我们创建的schema
生成基于Rust的代码:strm get schema-code <*handle*/*schema_name*/*version*> --language=rust
这将生成一个Rust项目,其中包含生成新包的必要脚本,以便在项目中使用
示例用法
使用和初始化STRMPrivacy客户端以向我们的API发送事件数据。
use strm_privacy_driver::{StrmPrivacyClient, StrmStatusCode};
use std::env;
use strm_privacy_driver::test::demo::{DemoEvent, StrmMeta};
use strm_privacy_driver::error::Error;
#[tokio::main]
async fn main() -> Result<(), Error> {
// initialize the env variables
let client_id = env::var("CLIENT_ID").expect("no CLIENT_ID found in environment");
let client_secret = env::var("CLIENT_SECRET").expect("no CLIENT_SECRET found in environment");
let mut strm_privacy_client = StrmPrivacyClient::default(client_id, client_secret).await?;
let event = create_event();
// catch specific status_codes and decide what to do
match strm_privacy_client.send_event(event).await? {
(StrmStatusCode::NO_CONTENT, _) => {}
(status_code, message) => {assert!(false)}
}
Ok(())
}
// create new event based on the example schema
fn create_event() -> DemoEvent {
DemoEvent {
strm_meta: StrmMeta {
event_contract_ref: "strmprivacy/example/1.3.0".to_string(),
nonce: None,
timestamp: None,
key_link: None,
billing_id: None,
consent_levels: vec![0],
},
unique_identifier: Some("unique".to_string()),
consistent_value: "consistent".to_string(),
some_sensitive_value: Some("sensitive".to_string()),
not_sensitive_value: Some("not sensitive".to_string()),
}
}
贡献
如果在使用图表时遇到问题,请检查您遇到的问题是否已在问题列表中列出。如果没有,请随时创建一个问题。
非常欢迎拉取请求。
依赖关系
~10–26MB
~367K SLoC