Compartilhar via


Chaves e valores

A Configuração de Aplicativos do Azure armazena dados de configuração como valores-chave. Os valores-chave são uma representação simples e flexível das configurações de aplicativo usadas pelos desenvolvedores.

Teclas

As chaves servem como identificadores para valores-chave e são usadas para armazenar e recuperar valores correspondentes. É uma prática comum organizar chaves em um namespace hierárquico usando um caractere delimitador, como / ou :. Use uma convenção mais adequada para seu aplicativo. A Configuração de Aplicativo trata as chaves como um todo. Ele não analisa chaves para descobrir como seus nomes são estruturados ou impor qualquer regra sobre eles.

Aqui está um exemplo de nomes de chave estruturados em uma hierarquia baseada em serviços de componentes:

    AppName:Service1:ApiEndpoint
    AppName:Service2:ApiEndpoint

O uso de dados de configuração em estruturas do aplicativo pode exigir esquemas de nomenclatura específicos para valores-chave. Por exemplo, a estrutura Java do Spring Cloud define recursos Environment que fornecem configurações para um aplicativo do Spring. Esses recursos são parametrizados por variáveis que incluem o nome do aplicativo e o perfil. As chaves dos dados de configuração relacionados ao Spring Cloud normalmente começarão com esses dois elementos, separadamente por um delimitador.

As chaves armazenadas na Configuração de Aplicativos são cadeias de caracteres baseadas em Unicode que diferenciam maiúsculas de minúsculas. As chaves app1 e App1 são distintas em um repositório de Configuração de Aplicativos. Tenha isso em mente ao usar definições de configuração em um aplicativo, pois algumas estruturas manipulam as chaves de configuração sem diferenciar maiúsculas de minúsculas. Não recomendamos o uso de maiúsculas e minúsculas para diferenciar as chaves.

Você pode usar qualquer caractere unicode em nomes de chave, exceto para %. Um nome de chave não pode ser . nem ... Há um limite de tamanho combinado de 10 KB em um valor-chave. Esse limite inclui todos os caracteres na chave, seu valor e todos os atributos opcionais associados. Dentro desse limite, você pode ter muitos níveis hierárquicos para chaves.

Criar namespaces de chave

Duas abordagens gerais para as chaves de nomenclatura são usadas para dados de configuração: simples ou hierárquicas. Esses métodos são semelhantes do ponto de vista de uso do aplicativo, mas a nomenclatura hierárquica oferece diversas vantagens:

  • Mais fácil de ler. Delimitadores em um nome de chave hierárquica funcionam como espaços em uma frase. Eles também fornecem quebras naturais entre palavras.
  • Mais fácil de gerenciar. Uma hierarquia de nomes de chave representa grupos lógicos de dados de configuração.
  • Mais fácil de usar. É mais simples escrever uma consulta que verifique as chaves em uma estrutura hierárquica e recupere apenas uma parte dos dados de configuração. Além disso, muitas estruturas de programação mais recentes têm suporte nativo para dados de configuração hierárquica, de modo que seu aplicativo pode usar conjuntos específicos de configuração.

Você pode organizar chaves na Configuração de Aplicativos hierarquicamente de várias maneiras. Pense em chaves como URIs. Cada chave hierárquica é um caminho de recurso composto por um ou mais componentes que são unidos por delimitadores. Escolha qual caractere usar como delimitador com base no que seu aplicativo, linguagem de programação ou estrutura precisa. Use vários delimitadores para chaves diferentes na Configuração de Aplicativos.

Chaves de rótulo

Opcionalmente, os valores-chave na Configuração de Aplicativos podem ter um atributo de rótulo. Os rótulos são usados para diferenciar os pares chave-valor com a mesma chave. Uma chave app1 com rótulos A e B forma duas chaves separadas em um repositório de Configuração de Aplicativos. Por padrão, um valor-chave não tem um rótulo. Para referenciar explicitamente um valor-chave sem um rótulo, use \0 (URL codificado como %00).

O rótulo fornece uma maneira conveniente de criar variantes de uma chave. Um uso comum de rótulos é especificar vários ambientes para a mesma chave:

    Key = AppName:DbEndpoint & Label = Test
    Key = AppName:DbEndpoint & Label = Staging
    Key = AppName:DbEndpoint & Label = Production

Valores-chave de versão

Use rótulos como uma forma de criar várias versões de um valor-chave. Por exemplo, você pode inserir um número de versão do aplicativo ou uma ID de confirmação do Git em rótulos para identificar valores-chave associados a um build de software específico.

Observação

Se você estiver procurando por versões de modificações, a Configuração de Aplicativos mantém automaticamente todas as alterações de um valor-chave que ocorreram no período de tempo passado. Para obter mais informações, consulte Instantâneo pontual.

Consultar valores-chave

Cada par chave-valor é identificado exclusivamente por sua chave, além de um rótulo que pode ser \0. Consulte um repositório de Configuração de Aplicativos por valores-chave especificando um padrão. O repositório de Configuração de Aplicativos retorna todos os valores-chave que correspondem ao padrão, inclusive os valores e atributos correspondentes. Use os seguintes padrões de chave em chamadas à API REST para a Configuração de Aplicativos:

Chave Descrição
key é omitido ou key=* Corresponde a todas as chaves.
key=abc Corresponde exatamente ao nome abc da chave.
key=abc* Corresponde aos nomes de chave que começam com abc.
key=abc,xyz Corresponde aos nomes de chave abc ou xyz. Limitado a cinco CSVs.

Você também pode incluir os seguintes padrões de rótulo:

Etiqueta Descrição
label é omitido ou label=* Corresponde a qualquer rótulo, que inclui \0.
label=%00 Corresponde ao rótulo \0.
label=1.0.0 Corresponde exatamente ao rótulo 1.0.0.
label=1.0.* Corresponde aos rótulos que começam com 1.0..
label=%00,1.0.0 Corresponde aos rótulos \0 ou 1.0.0, limitados a cinco CSVs.

Observação

*, ,e \ são caracteres reservados em consultas. Se um caractere reservado for usado em nomes ou rótulos de chave, você deverá escapar dele usando \{Reserved Character} nas consultas.

Valores

Os valores atribuídos às chaves também são cadeias de caracteres Unicode. Use todos os caracteres Unicode para valores.

Usar tipo de conteúdo

Cada chave-valor na Configuração de Aplicativo tem um atributo de tipo de conteúdo. Opcionalmente, você pode usar esse atributo para armazenar informações sobre o tipo de valor em um valor-chave que ajuda seu aplicativo a processá-lo corretamente. Você pode usar qualquer formato para o tipo de conteúdo. A Configuração de Aplicativos usa tipos de mídia (também conhecidos como tipos MIME) para tipos de dados internos, como sinalizadores de recursos, referências do Key Vault e valores de chave JSON.

Próximas etapas