Compartilhar via


Configuração de Aplicativos do Azure biblioteca de clientes para .NET – versão 1.2.1

A Configuração de Aplicativos do Azure é um serviço gerenciado que ajuda os desenvolvedores a centralizar seus aplicativos e suas configurações de recursos de maneira simples e segura.

Use a biblioteca de clientes para Configuração de Aplicativos para:

Código-fonte | Pacote (NuGet) | Documentação | de referência da APIDocumentação do produto | Amostras

Introdução

Instalar o pacote

Instale a biblioteca de clientes do Configuração de Aplicativos do Azure para .NET com o NuGet:

dotnet add package Azure.Data.AppConfiguration

Pré-requisitos

Se você precisar criar um Repositório de Configurações, poderá usar o Portal do Azure ou a CLI do Azure.

Você pode usar a CLI do Azure para criar o Repositório de Configurações com o seguinte comando:

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

Autenticar o cliente

Para interagir com o serviço Configuração de Aplicativos, você precisará criar uma instância da classe Cliente de Configuração. Para tornar isso possível, você precisará da cadeia de conexão do Repositório de Configurações.

Obter credenciais

Use o snippet da CLI do Azure abaixo para obter a cadeia de conexão do Repositório de Configurações.

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

Como alternativa, obtenha a cadeia de conexão no Portal do Azure.

Criar ConfigurationClient

Depois de ter o valor da cadeia de conexão, você poderá criar o ConfigurationClient:

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

Criar ConfigurationClient com a Credencial do Azure Active Directory

A autenticação de chave de assinatura do cliente é usada na maioria dos exemplos neste guia de introdução, mas você também pode autenticar com o Azure Active Directory usando a biblioteca de identidade do Azure. Para usar o provedor DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, instale o pacote Azure.Identity:

dotnet add package Azure.Identity

Você também precisará registrar um novo aplicativo do AAD e conceder acesso ao Repositório de Configurações atribuindo a "App Configuration Data Reader" função ou "App Configuration Data Owner" à entidade de serviço.

Defina os valores da ID do cliente, da ID do locatário e do segredo do cliente do aplicativo AAD como variáveis de ambiente: AZURE_CLIENT_ID, AZURE_TENANT_ID AZURE_CLIENT_SECRET.

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

Principais conceitos

Definição de configuração

Uma Definição de Configuração é o recurso fundamental dentro de um Repositório de Configurações. Em sua forma mais simples, é uma chave e um valor. No entanto, há propriedades adicionais, como o tipo de conteúdo modificável e os campos de marcas que permitem que o valor seja interpretado ou associado de maneiras diferentes.

A propriedade Label de uma Configuração fornece uma maneira de separar as Definições de Configuração em dimensões diferentes. Essas dimensões são definidas pelo usuário e podem assumir qualquer forma. Alguns exemplos comuns de dimensões a serem usadas para um rótulo incluem regiões, versões semânticas ou ambientes. Muitos aplicativos têm um conjunto necessário de chaves de configuração que têm valores variados à medida que o aplicativo existe em diferentes dimensões.

Por exemplo, MaxRequests pode ser 100 em "NorthAmerica" e 200 em "WestEurope". Ao criar uma Configuração chamada MaxRequests com um rótulo "NorthAmerica" e outro, somente com um valor diferente, com um rótulo "WestEurope", um aplicativo pode recuperar perfeitamente as Definições de Configuração conforme é executado nessas duas dimensões.

Acesso thread-safe

Garantimos que todos os métodos de instância do cliente sejam thread-safe e independentes uns dos outros (diretriz). Isso garante que a recomendação de reutilize instâncias de cliente seja sempre segura, mesmo entre threads.

Conceitos adicionais

Opções do | clienteAcessando a resposta | Operações de execução longa | Tratamento de falhas | Diagnostics | Zombando | Tempo de vida do cliente

Exemplos

As seções a seguir fornecem vários snippets de código que abrangem algumas das tarefas mais comuns do Serviço de Configuração. Observe que há métodos de sincronização e assíncronos disponíveis para ambos.

Criar uma configuração

Crie uma Configuração a ser armazenada no Repositório de Configurações. Há duas maneiras de armazenar uma Configuração:

  • AddConfigurationSetting criará uma configuração somente se a configuração ainda não existir no repositório.
  • SetConfigurationSetting criará uma configuração se ela não existir ou substituir uma configuração existente.
string connectionString = "<connection_string>";
var client = new ConfigurationClient(connectionString);
var settingToCreate = new ConfigurationSetting("some_key", "some_value");
ConfigurationSetting setting = client.SetConfigurationSetting(settingToCreate);

Recuperar uma configuração

Recupere uma configuração armazenada anteriormente chamando GetConfigurationSetting. Esse snippet pressupõe que a configuração "some_key" existe no repositório de configuração.

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

Atualizar uma configuração existente

Atualize uma configuração existente chamando SetConfigurationSetting. Esse snippet pressupõe que a configuração "some_key" existe no repositório de configuração.

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

Excluir uma configuração

Exclua uma configuração existente chamando DeleteConfigurationSetting. Esse snippet pressupõe que a configuração "some_key" existe no repositório de configuração.

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

Solução de problemas

Consulte nosso guia de solução de problemas para obter detalhes sobre como diagnosticar vários cenários de falha.

Próximas etapas

Mais códigos de exemplo

Várias Configuração de Aplicativos exemplos de biblioteca de clientes estão disponíveis para você neste repositório GitHub. Estão incluídos:

Para obter mais detalhes, consulte os exemplos README.

Participante

Consulte a Configuração de Aplicativos CONTRIBUTING.md para obter detalhes sobre como criar, testar e contribuir para essa biblioteca.

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.

Impressões