#azure #api-wrapper #client #cloud #api-bindings #app-configuration

bin+lib azure-app-configuration

Azure App Configuration for Rust 的客户端

1 个不稳定版本

0.1.0 2019 年 9 月 17 日

#633配置

Apache-2.0/MIT

24KB
402

Azure App Configuration for Rust 的客户端

Build Status License Cargo Documentation

使用 azure-app-configuration,您可以轻松地与 Azure App Configuration 服务集中式配置进行交互。

最新版本支持

  • 列出密钥
  • 列出标签
  • 列出密钥值
  • 获取密钥值
  • 设置密钥值(带有标签、标记和内容类型)
  • 删除密钥值

运行示例

您可以在以下位置找到一些示例代码片段:示例

只需将配置替换为您的 Azure 配置端点、您的访问密钥和密钥,然后通过使用

cargorun --examplelist-key-values

cargorun --exampleget_key_value

cargorun --exampleset_key_value

您可以在 Cargo.toml 文件中看到所有可用的目标

代码示例

创建 AzureAppConfiguration 客户端

要创建 Azure App Configuration 客户端,只需使用 ::new 方法并提供端点 URL、访问密钥和密钥

use azure_app_configuration::client::AzureAppConfigClient;
let app_config_client = AzureAppConfigClient::new(
        "https://endpoint.azconfig.io",
        "0-l9-s0:Z6DMwn2DoiK2gVsTIm7h",
        "wgf9BDWeh/+Dtq8Dmps3SUpwrdgYLrXG8svE+VyM06w=",
        );

列出密钥

   //List all key values without a label (all key values);
    let keys = app_config_client.list_keys().await.unwrap();
    for k in keys.items {
        println!("{:?}", k);
    }

列出标签

  let labels = app_config_client.list_labels().await.unwrap();
  for l in labels.items {
    println!("{:?}", l);
  }

列出密钥值

    let key_values = app_config_client.list_key_values(SearchLabel::All).await;
    for k in key_values {
        println!("{:?}", k);
    }

带有标签的键值获取

使用标签 ContosoApp 获取键 ConnectionString 的值

   let kv = app_config_client
            .get_key_value("ConnectionString", SearchLabel::For("ContosoApp"))
            .await;
   println!("{:?}", kv);

不带标签的键值获取

获取未指定标签的标签名为 ConnectionString 的键

   let kv = app_config_client
            .get_key_value("ConnectionString", SearchLabel::All)
            .await;
   println!("{:?}", kv);

设置密钥值

删除标签为 Application1 的 ConnectionString 键

    let kv = app_config_client
            .set_key(
                "ConnectionString",
                "Server=dummy;user id=user;password=fakepass",
                SearchLabel::For("Application1"),
                None,
                None,
            )
            .await;

        println!("{:?}", kv);

带有标签和内容类型的设置密钥值

   let mut tags = HashMap::new();
        tags.insert("tag1", "tagvalue1");
        tags.insert("tag2", "tagvalue2");

        let kv = app_config_client
            .set_key(
                "UseCache",
                "true",
                SearchLabel::For("PublicWebsite"),
                Some(tags),
                Some("application/lande"),
            )
            .await;

        println!("{:?}", kv);

依赖关系

~8.5MB
~187K SLoC