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 中使用

Apache-2.0

120KB
425 代码行

Crates.io

什么是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