Chaves e valores
Azure App Configuration armazena dados de configuração como valores-chave. Os valores-chave são uma representação simples e flexível das definições da aplicação utilizadas pelos programadores.
Chaves
As chaves servem como identificadores para valores-chave e são utilizadas para armazenar e obter os valores correspondentes. É uma prática comum organizar chaves num espaço de nomes hierárquico através de um delimitador de carateres, como /
ou :
. Utilize uma convenção mais adequada para a sua aplicação. App Configuration trata as chaves como um todo. Não analisa chaves para descobrir como os respetivos nomes são estruturados ou impor qualquer regra sobre as mesmas.
Eis um exemplo de nomes de chaves estruturados numa hierarquia com base em serviços de componentes:
AppName:Service1:ApiEndpoint
AppName:Service2:ApiEndpoint
A utilização de dados de configuração em arquiteturas de aplicações pode ditar esquemas de nomenclatura específicos para valores-chave. Por exemplo, a arquitetura spring cloud de Java define recursos Environment
que fornecem definições para uma aplicação Spring. Estes recursos são parametrizados por variáveis que incluem o nome e o perfil da aplicação. Normalmente, as chaves para dados de configuração relacionados com o Spring Cloud começam com estes dois elementos separados por um delimitador.
As chaves armazenadas no App Configuration são cadeias baseadas em maiúsculas e minúsculas baseadas em unicode. As chaves app1 e App1 são distintas numa loja App Configuration. Tenha isto em mente quando utilizar as definições de configuração numa aplicação, uma vez que algumas arquiteturas processam chaves de configuração de forma não sensível a maiúsculas e minúsculas. Não recomendamos a utilização de maiúsculas/minúsculas para diferenciar chaves.
Pode utilizar qualquer caráter unicode em nomes de chaves, exceto em %
. Um nome de chave não pode ser .
ou ..
qualquer um dos dois. Existe um limite de tamanho combinado de 10 KB num valor-chave. Este limite inclui todos os carateres na chave, o respetivo valor e todos os atributos opcionais associados. Dentro deste limite, pode ter muitos níveis hierárquicos para chaves.
Estruturar espaços de nomes de chaves
São utilizadas duas abordagens gerais às chaves de nomenclatura para dados de configuração: simples ou hierárquicas. Estes métodos são semelhantes do ponto de vista da utilização de aplicações, mas a nomenclatura hierárquica oferece muitas vantagens:
- Mais fácil de ler. Os delimitadores num nome de chave hierárquico funcionam como espaços numa frase. Também proporcionam quebras naturais entre palavras.
- Mais fácil de gerir. Uma hierarquia de nomes de chaves representa grupos lógicos de dados de configuração.
- É mais fácil de utilizar. É mais simples escrever uma consulta que corresponda a chaves numa estrutura hierárquica e obtém apenas uma parte dos dados de configuração. Além disso, muitas arquiteturas de programação mais recentes têm suporte nativo para dados de configuração hierárquica, de modo a que a sua aplicação possa utilizar conjuntos específicos de configuração.
Pode organizar chaves App Configuration hierárquicas de várias formas. 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 o caráter a utilizar como delimitador com base no que a sua aplicação, linguagem de programação ou arquitetura precisa. Utilize vários delimitadores para chaves diferentes no App Configuration.
Teclas de etiqueta
Opcionalmente, os valores-chave no App Configuration podem ter um atributo de etiqueta. As etiquetas são utilizadas para diferenciar valores-chave com a mesma chave. Uma aplicação chave1 com as etiquetas A e B forma duas chaves separadas num arquivo de App Configuration. Por predefinição, um valor-chave não tem etiqueta. Para referenciar explicitamente um valor-chave sem uma etiqueta, utilize \0
(URL codificado como %00
).
A etiqueta fornece uma forma conveniente de criar variantes de uma chave. Uma utilização comum de etiquetas é 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 da versão
Utilize etiquetas como forma de criar várias versões de um valor-chave. Por exemplo, pode introduzir um número de versão da aplicação ou um ID de consolidação do Git em etiquetas para identificar valores-chave associados a uma compilação de software específica.
Nota
Se estiver à procura de versões de alteração, App Configuration mantém automaticamente todas as alterações de um valor-chave que ocorreram no último determinado período de tempo. Para obter mais informações, veja instantâneo para um ponto anterior no tempo.
Consultar valores-chave
Cada chave-valor é identificado exclusivamente pela respetiva chave e uma etiqueta que pode ser \0
. Pode consultar um arquivo de App Configuration para valores-chave ao especificar um padrão. O arquivo de App Configuration devolve todos os valores-chave que correspondem ao padrão, incluindo os respetivos valores e atributos correspondentes. Utilize os seguintes padrões-chave nas chamadas à API REST para App Configuration:
Chave | Descrição |
---|---|
key é omitido 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 abc de chaves ou xyz . Limitado a cinco CSVs. |
Também pode incluir os seguintes padrões de etiqueta:
Etiqueta | Description |
---|---|
label é omitido ou label=* |
Corresponde a qualquer etiqueta, que inclui \0 . |
label=%00 |
Corresponde à \0 etiqueta. |
label=1.0.0 |
Corresponde exatamente à etiqueta 1.0.0 . |
label=1.0.* |
Corresponde a etiquetas que começam com 1.0. . |
label=%00,1.0.0 |
Corresponde a etiquetas \0 ou 1.0.0 , limitado a cinco CSVs. |
Nota
*
, ,
e \
são carateres reservados em consultas. Se um caráter reservado for utilizado nos seus nomes ou etiquetas de chave, tem de o escapar ao utilizar \{Reserved Character}
em consultas.
Valores
Os valores atribuídos às chaves também são cadeias unicode. Pode utilizar todos os carateres unicode para valores.
Utilizar o tipo de conteúdo
Cada chave-valor no App Configuration tem um atributo de tipo de conteúdo. Opcionalmente, pode utilizar este atributo para armazenar informações sobre o tipo de valor num valor-chave que ajuda a sua aplicação a processá-la corretamente. Pode utilizar qualquer formato para o tipo de conteúdo. App Configuration utiliza Tipos de Multimédia (também conhecidos como tipos MIME) para tipos de dados incorporados, como sinalizadores de funcionalidades, referências de Key Vault e valores-chave JSON.