Partilhar via


Chaves e valores

A Configuração do Aplicativo 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 do aplicativo usadas pelos desenvolvedores.

Chaves

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 delimitador de caracteres, como / ou :. Use uma convenção mais adequada à sua aplicação. A Configuração do 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 chaves estruturados em uma hierarquia com base em serviços de componentes:

    AppName:Service1:ApiEndpoint
    AppName:Service2:ApiEndpoint

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

As chaves armazenadas na Configuração da Aplicação diferenciam maiúsculas de minúsculas e são cadeias de caracteres baseadas em Unicode. As chaves app1 e App1 são distintas numa loja de Configuração de Aplicação. Tenha isso em mente ao usar definições de configuração em um aplicativo, pois algumas estruturas lidam com chaves de configuração sem distinção entre maiúsculas e minúsculas. Não recomendamos o uso de maiúsculas para diferenciar chaves.

Você pode usar qualquer caractere unicode em nomes de chave, exceto .% Um nome de chave não pode ser . ou .. ambos. Há um limite de tamanho combinado de 10 KB em um valor de 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.

Principais namespaces de design

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

  • Mais fácil de ler. Os delimitadores em um nome de chave hierárquica funcionam como espaços em uma frase. Eles também proporcionam pausas naturais entre as palavras.
  • Mais fácil de gerir. Uma hierarquia de nome de chave representa grupos lógicos de dados de configuração.
  • Mais fácil de usar. É mais simples escrever uma consulta que combina padrões de chaves numa estrutura hierárquica e recupera 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 possa usar conjuntos específicos de configuração.

Você pode organizar chaves na Configuração do Aplicativo 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 do aplicativo.

Teclas de rótulos

Os valores-chave na Configuração do Aplicativo podem, opcionalmente, ter um atributo label. Os rótulos são usados para diferenciar valores-chave com a mesma chave. Uma chave app1 com rótulos A e B forma duas chaves separadas num repositório de Configuração de Aplicativos. Por padrão, um valor-chave não tem rótulo. Para fazer referência explícita a um valor-chave sem um rótulo, use \0 (URL codificado como %00).

Label 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 maneira de criar várias versões de um valor-chave. Por exemplo, você pode inserir um número de versão do aplicativo ou um ID de confirmação do Git em rótulos para identificar valores-chave associados a uma compilação de software específica.

Observação

Se estiver à procura de versões de alteração, a Configuração da Aplicação mantém automaticamente todas as alterações de um valor-chave que ocorreram no passado determinado período de tempo. Para obter mais informações, consulte o instantâneo de um ponto no tempo.

Consultar-chave-valores

Cada valor-chave é identificado exclusivamente por sua chave mais um rótulo que pode ser \0. Você consulta uma loja de configuração de aplicativo para valores-chave especificando um padrão. A App Configuration store devolve todos os valores-chave que correspondem ao padrão, incluindo os respetivos valores e atributos. Use os seguintes padrões de chave em chamadas de API REST para a Configuração do Aplicativo:

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

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

Etiqueta Descrição
label é omitida 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 a rótulos que começam com 1.0..
label=%00,1.0.0 Corresponde aos rótulos \0 ou 1.0.0, limitado a cinco CSVs.

Observação

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

Valores

Os valores atribuídos às chaves também são cadeias de caracteres unicode. Você pode usar todos os caracteres unicode para valores.

Usar tipo de conteúdo

Cada valor-chave na Configuração do 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 do Aplicativo usa Tipos de Mídia (também conhecidos como tipos MIME) para tipos de dados internos, como sinalizadores de recursos, referências do Cofre de Chaves e valores de chave JSON.

Próximos passos