Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Uma maneira comum de armazenar dados de configuração é usar arquivos. Se você quiser usar a Configuração do Aplicativo do Azure para gerenciar seus dados de configuração, mas atualmente usa arquivos, não é necessário inserir seus dados manualmente. Você pode usar ferramentas para importar seus arquivos de configuração.
Se você planeja gerenciar seus dados na Configuração do aplicativo, a operação de importação é uma migração de dados única. Outra opção é continuar a gerir os seus dados de configuração em ficheiros e importar os ficheiros recorrentemente como parte do seu processo de integração contínua e entrega contínua (CI/CD). Este caso surge quando você adota a configuração como código.
Dois perfis de conteúdo de arquivo estão disponíveis quando você usa arquivos de configuração:
- O perfil de conteúdo de arquivo padrão: O esquema de arquivo de configuração convencional
- O perfil de conteúdo do arquivo KVSet: um esquema que contém todas as propriedades de chave-valor da Configuração do Aplicativo
Este artigo discute ambos os perfis de conteúdo de arquivo. Ele também fornece exemplos de importação e exportação de arquivos de configuração. Os exemplos usam a CLI do Azure, mas os conceitos neste artigo também se aplicam a outros métodos de importação de Configuração de Aplicativo.
Perfil de conteúdo do arquivo: padrão
Nas ferramentas de Configuração de Aplicativos, o perfil de conteúdo de arquivo padrão é o esquema de arquivo de configuração convencional que é amplamente adotado por estruturas e sistemas de programação existentes. Esse perfil é usado em ferramentas de importação de Configuração de Aplicativo, como o portal do Azure, a CLI do Azure, a tarefa de Importação de Configuração de Aplicativo do Azure no Azure Pipelines e as Ações do GitHub. A Configuração do Aplicativo suporta os formatos de arquivo JSON, YAML e Propriedades.
Esse perfil é útil se você quiser usar um arquivo como a configuração de fallback para seu aplicativo ou a configuração local durante o desenvolvimento. Ao importar o arquivo de configuração, você especifica como deseja que os dados sejam transformados em valores-chave de Configuração do Aplicativo e sinalizadores de recursos.
O seguinte arquivo de configuração, appsettings.json, fornece um exemplo do perfil de conteúdo de arquivo padrão. Este ficheiro contém uma definição de configuração e uma flag de funcionalidade.
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"feature_management": {
"feature_flags": [
{
"id": "Beta",
"enabled": false
}
]
}
}
Para importar esse arquivo para a Configuração do Aplicativo, execute o seguinte comando da CLI do Azure. Ele aplica um dev rótulo à configuração e ao sinalizador de recurso, e usa dois pontos (:) como separador para nivelar o nome da chave.
az appconfig kv import --label dev --separator : --name <App-Configuration-store-name> --source file --path appsettings.json --format json
Opcionalmente, você pode adicionar o seguinte parâmetro ao comando anterior: --profile appconfig/default. O parâmetro é opcional, porque o perfil padrão é appconfig/default.
As referências do Azure Key Vault exigem um tipo de conteúdo específico durante a importação. Como resultado, você mantê-los em um arquivo separado, como mostrado no seguinte arquivo, keyvault-refs.json:
{
"Database:ConnectionString": {
"uri": "https://<Key-Vault-name>.vault.azure.net/secrets/db-secret"
}
}
Para importar esse arquivo, execute o seguinte comando da CLI do Azure. Aplica um rótulo test à referência do Cofre de Chaves e usa o tipo de conteúdo de referência do Cofre de Chaves.
az appconfig kv import --label test --content-type "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8" --name <App-Configuration-store-name> --source file --path keyvault-refs.json --format json
A tabela a seguir mostra todos os dados importados em sua loja de configuração de aplicativos:
| Key | valor | Etiqueta | Tipo do conteúdo |
|---|---|---|---|
| .appconfig.featureflag/Beta | {"id":"Beta","description":"","enabled": false,"conditions":{"client_filters":[]}} | Dev | aplicativo/vnd.microsoft.appconfig.ff+json; charset=utf-8 |
| Log:LogLevel:Padrão | Aviso | Dev | |
| Banco de dados:ConnectionString | {"uri":"https://<Key-Vault-name.vault.azure.net/secrets/db-secret>"} | testar | application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8 |
Perfil de conteúdo do arquivo: KVSet
Nas ferramentas de Configuração de Aplicativos, o perfil de conteúdo do arquivo KVSet é um esquema de arquivo que contém todas as propriedades de um valor-chave de Configuração de Aplicativo. Estão incluídos o nome da chave, seu valor, seu rótulo, seu tipo de conteúdo e suas tags. Como todas as propriedades de um valor-chave estão no arquivo, não é necessário especificar regras de transformação ao importar o arquivo.
Ao usar o perfil KVSet, você pode definir valores de chave regulares, referências do Cofre de Chaves e sinalizadores de recursos em um arquivo. Como resultado, esse perfil é útil se você quiser gerenciar todos os dados de configuração do aplicativo em um arquivo e importá-los em uma etapa.
Os arquivos que usam esse perfil estão no formato JSON. Para obter a especificação do esquema, consulte o esquema do arquivo KVSet.
O seguinte ficheiro, appconfigdata.json, baseia-se no perfil de conteúdo do ficheiro KVSet. Esse arquivo contém um sinalizador de recurso, uma referência do Cofre da Chave e um valor de chave padrão.
{
"items": [
{
"key": ".appconfig.featureflag/Beta",
"value": "{\"id\":\"Beta\",\"description\":\"Beta feature\",\"enabled\":true,\"conditions\":{\"client_filters\":[]}}",
"label": "dev",
"content_type": "application/vnd.microsoft.appconfig.ff+json;charset=utf-8",
"tags": {}
},
{
"key": "Database:ConnectionString",
"value": "{\"uri\":\"https://<Key-Vault-name>.vault.azure.net/secrets/db-secret\"}",
"label": "test",
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {}
},
{
"key": "Logging:LogLevel:Default",
"value": "Debug",
"label": "dev",
"content_type": null,
"tags": {}
}
]
}
Na seção anterior, um exemplo mostra como importar dados para sua loja de configuração de aplicativos. Você pode exportar esses dados para um arquivo usando o seguinte comando da CLI do Azure:
az appconfig kv export --profile appconfig/kvset --label * --name <App-Configuration-store-name> --destination file --path appconfigdata.json --format json
Depois de exportar o arquivo, abra-o em um editor de texto e faça as seguintes alterações:
- Defina a propriedade
Betado sinalizador de recursoenabledparatrue. - Defina a propriedade
Logging:LogLevel:DefaultcomoDebug.
Para importar o arquivo atualizado para sua loja de configuração de aplicativos, execute o seguinte comando da CLI, que inclui o --profile appconfig/kvset parâmetro. Você não precisa especificar regras de transformação de dados, como um separador, rótulo ou tipo de conteúdo, como fez para o perfil de conteúdo de arquivo padrão. Todas as informações necessárias já estão no arquivo.
az appconfig kv import --profile appconfig/kvset --name <App-Configuration-store-name> --source file --path appconfigdata.json --format json
Nota
O perfil de conteúdo do arquivo KVSet é suportado atualmente em:
- A CLI do Azure versão 2.30.0 e posterior.
- A tarefa de Importação de Configuração do Aplicativo do Azure versão 10.0.0 e posterior.
- O portal do Azure.
A tabela a seguir mostra todos os dados importados em sua loja de configuração de aplicativos:
| Key | valor | Etiqueta | Tipo do conteúdo |
|---|---|---|---|
| .appconfig.featureflag/Beta | {"id":"Beta","description":"Beta feature","enabled":true,"conditions":{"client_filters":[]}} | Dev | aplicativo/vnd.microsoft.appconfig.ff+json; charset=utf-8 |
| Log:LogLevel:Padrão | Debug | Dev | |
| Banco de dados:ConnectionString | {"uri":"https://<Key-Vault-name.vault.azure.net/secrets/db-secret>"} | testar | application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8 |