你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 应用程序配置适用于 .NET 的客户端库 - 版本 1.2.1

Azure 应用配置是一项托管服务,可帮助开发人员轻松且安全地集中管理其应用程序和功能设置。

使用用于应用程序配置的客户端库可以:

源代码 | 包 (NuGet) | API 参考文档 | 产品文档 | 样品

入门

安装包

使用 NuGet 安装适用于 .NET 的 Azure 应用程序配置 客户端库:

dotnet add package Azure.Data.AppConfiguration

先决条件

如果需要创建配置存储,可以使用 Azure 门户或 Azure CLI

可以使用 Azure CLI 通过以下命令创建配置存储:

az appconfig create --name <config-store-name> --resource-group <resource-group-name> --location eastus

验证客户端

若要与 应用程序配置 服务交互,需要创建 Configuration Client 类的实例。 为此,需要配置存储的连接字符串。

获取凭据

使用以下 Azure CLI 代码片段从配置存储中获取连接字符串。

az appconfig credential list --name <config-store-name>

或者,从 Azure 门户获取连接字符串。

创建 ConfigurationClient

获得连接字符串的值后,可以创建 ConfigurationClient:

string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);

使用 Azure Active Directory 凭据创建 ConfigurationClient

本入门指南中的大多数示例都使用了客户端订阅密钥身份验证,但也可以使用 Azure 标识库通过 Azure Active Directory 进行身份验证。 若要使用如下所示的 DefaultAzureCredential 提供程序或 Azure SDK 提供的其他凭据提供程序,请安装 Azure.Identity 包:

dotnet add package Azure.Identity

还需要注册新的 AAD 应用程序,并通过向服务主体分配 "App Configuration Data Reader""App Configuration Data Owner" 角色来授予对配置存储的访问权限。

将 AAD 应用程序的客户端 ID、租户 ID 和客户端密码的值设置为环境变量:AZURE_CLIENT_ID、AZURE_TENANT_ID、AZURE_CLIENT_SECRET。

string endpoint = "<endpoint>";
var client = new ConfigurationClient(new Uri(endpoint), new DefaultAzureCredential());

关键概念

配置设置

配置设置是配置存储中的基本资源。 在最简单的形式中,它是一个键和一个值。 但是,还有其他属性,例如可修改的内容类型和标记字段,它们允许以不同方式解释或关联值。

配置设置的 Label 属性提供了一种将配置设置划分为不同维度的方法。 这些维度是用户定义的,可以采用任何形式。 用于标签的维度的一些常见示例包括区域、语义版本或环境。 许多应用程序都有一组必需的配置键,这些键具有不同的值,因为应用程序存在于不同的维度中。

例如,MaxRequests 在“NorthAmerica”中可以为 100,在“WestEurope”中为 200。 通过创建一个名为 MaxRequests 且标签为“NorthAmerica”和另一个(仅具有不同值)的“WestEurope”标签的配置设置,应用程序可以在这两个维度中运行时无缝检索配置设置。

线程安全

我们保证所有客户端实例方法都是线程安全的,并且相互独立, (准则) 。 这可确保重用客户端实例的建议始终是安全的,即使跨线程也是如此。

其他概念

客户端选项 | 访问响应 | 长时间运行的操作 | 处理失败 | 诊断 | 嘲笑 | 客户端生存期

示例

以下部分提供了几个代码片段,涵盖了一些最常见的配置服务任务。 请注意,这两者都有可用的同步和异步方法。

创建配置设置

创建要存储在配置存储中的配置设置。 可通过两种方法来存储配置设置:

  • AddConfigurationSetting 仅当存储区中尚不存在该设置时,才会创建设置。
  • 如果设置不存在,SetConfigurationSetting 将创建一个设置,或者替代现有设置。
string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
var settingToCreate = new ConfigurationSetting("some_key", "some_value");
ConfigurationSetting setting = client.SetConfigurationSetting(settingToCreate);

检索配置设置

通过调用 GetConfigurationSetting 检索以前存储的配置设置。 此代码片段假定配置存储中存在设置“some_key”。

string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
ConfigurationSetting setting = client.GetConfigurationSetting("some_key");

更新现有配置设置

通过调用 SetConfigurationSetting 更新现有配置设置。 此代码片段假定配置存储中存在设置“some_key”。

string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
ConfigurationSetting setting = client.SetConfigurationSetting("some_key", "new_value");

删除配置设置

通过调用 DeleteConfigurationSetting 删除现有配置设置。 此代码片段假定配置存储中存在设置“some_key”。

string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
client.DeleteConfigurationSetting("some_key");

疑难解答

有关如何诊断各种故障方案的详细信息,请参阅故障排除 指南

后续步骤

更多示例代码

在此 GitHub 存储库中提供了几个应用程序配置客户端库示例。 其中包括:

有关详细信息,请参阅 示例自述文件

贡献

有关构建、测试和参与此库的详细信息,请参阅应用程序配置 CONTRIBUTING.md

本项目欢迎贡献和建议。 大多数贡献要求你同意贡献者许可协议 (CLA),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 cla.microsoft.com

提交拉取请求时,CLA 机器人将自动确定你是否需要提供 CLA,并相应地修饰 PR(例如标签、注释)。 直接按机器人提供的说明操作。 只需使用 CLA 对所有存储库执行一次这样的操作。

此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。

曝光数