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 do aplicativo usadas pelos desenvolvedores.
simétricas
As chaves servem como identificadores de valores-chave e são usadas para armazenar e recuperar os 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. Ela não analisa as chaves para descobrir como seus nomes são estruturados nem impõem regras a elas.
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 Aplicativo 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 .
ou ..
. 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 vários níveis hierárquicos para chaves.
Criar namespaces de chave
Duas abordagens gerais para nomear as chaves são usadas para dados de configuração: simples ou hierárquica. 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. Os delimitadores em uma função de nome de chave hierárquica funcionam como espaços em uma sentença. 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 cujo padrão é correspondente às chaves em uma 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 tal modo que o aplicativo pode fazer uso de conjuntos de configuração específicos.
Você pode organizar as chaves na Configuração de Aplicativo hierarquicamente de muitas maneiras. Considere essas chaves como sendo URIs. Cada chave hierárquica é um caminho de recurso formado por um ou mais componentes que são unidos por delimitadores. Escolha qual caractere usar como um delimitador de acordo com as necessidades do aplicativo, da linguagem de programação ou da estrutura. Use vários delimitadores para diferentes chaves na Configuração de Aplicativo.
Chaves de rótulo
Os pares chave-valor na Configuração de Aplicativo podem, opcionalmente, 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 dos 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
Versão de valores-chave
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 uma ID de confirmação do Git em rótulos para identificar pares chave-valor associados a um build de software específico.
Observação
Se você estiver procurando versões de alteração, a Configuração de Aplicativos manterá todas as alterações de um valor-chave ocorridas no passado determinado período de tempo automaticamente. Para obter mais informações, consulte Instantâneo pontual.
Consultar valores-chave
Cada par chave-valor é identificado exclusivamente pela 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 Aplicativo:
Chave | Descrição |
---|---|
key é omitido ou key=* |
Corresponde a todas as chaves. |
key=abc |
Corresponde exatamente ao nome da chave abc . |
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. |
Inclua também os seguintes padrões de rótulo:
Rótulo | 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 , limitado 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 valor-chave na Configuração de Aplicativos 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 de MIME) para tipos de dados internos, como sinalizadores de recurso, referências de Key Vault e valores de chave JSON.