Início Rápido: Criar um aplicativo ASP.NET Core com a Configuração de Aplicativo do Azure
Neste início rápido, você deverá usar a Configuração de Aplicativos do Azure para externalizar o armazenamento e o gerenciamento de configurações de seu aplicativo para um aplicativo ASP.NET Core. O ASP.NET Core cria um objeto de configuração baseado em chave-valor usando configurações de um ou mais provedor de configuração. A Configuração de Aplicativos oferece uma biblioteca de provedores de configuração do .NET. Portanto, você pode usar a Configuração de Aplicativos como uma fonte de configuração extra para o aplicativo. Se você tiver um aplicativo existente, para começar a usar a Configuração de Aplicativos, precisará apenas de algumas pequenas alterações no código de inicialização do aplicativo.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie um gratuitamente.
- Um repositório de Configuração de Aplicativos. Criar um repositório.
- SDK do .NET 6.0 ou posterior
Dica
O Azure Cloud Shell é um shell interativo gratuito que pode ser usado para executar as instruções de linha de comando contidas neste artigo. Ele tem ferramentas comuns do Azure pré-instaladas, incluindo o SDK .NET. Se você fez logon na assinatura do Azure, inicie o Azure Cloud Shell em shell.azure.com. Você pode saber mais sobre o Azure Cloud Shell lendo nossa documentação
Adicionar valores-chave
Adicione os seguintes valores-chave ao repositório de Configuração de Aplicativos e deixe o Rótulo e Tipo de Conteúdo com seus valores padrão. Para mais informações sobre como adicionar valores-chave a um repositório usando o portal do Azure ou a CLI, acesse Criar um valor-chave.
Chave | Valor |
---|---|
TestApp:Settings:BackgroundColor | white |
TestApp:Settings:FontColor | black |
TestApp:Settings:FontSize | 24 |
TestApp:Settings:Message | Dados da Configuração de Aplicativo do Azure |
Criar um aplicativo Web ASP.NET Core
Use a Interface de linha de comando (CLI) do .NET para criar um projeto de aplicativo Web do ASP.NET Core. O Azure Cloud Shell fornece essas ferramentas para você. Elas também estão disponíveis nas plataformas Windows, macOS e Linux.
Execute o seguinte comando para criar um aplicativo Web do ASP.NET Core em uma nova pasta TestAppConfig:
dotnet new webapp --output TestAppConfig --framework net6.0
Conectar-se a um repositório de Configuração de Aplicativos
Navegue até o diretório TestAppConfig do projeto e execute o seguinte comando para adicionar uma referência ao pacote NuGet Microsoft.Azure.AppConfiguration.AspNetCore:
dotnet add package Microsoft.Azure.AppConfiguration.AspNetCore
Execute o comando a seguir. O comando usa o Gerenciador de Segredos para armazenar um segredo chamado
ConnectionStrings:AppConfig
, que armazena a cadeia de conexão do seu repositório de Configuração de Aplicativos. Substitua o espaço reservado<your_connection_string>
pela cadeia de conexão do repositório de Configuração de Aplicativos. Encontre a cadeia de conexão em Chaves de Acesso no repositório de Configuração de Aplicativos no portal do Azure.dotnet user-secrets init dotnet user-secrets set ConnectionStrings:AppConfig "<your_connection_string>"
Dica
Alguns shells truncarão a cadeia de conexão, a menos que ela seja colocada entre aspas. Verifique se a saída do comando
dotnet user-secrets list
mostra toda a cadeia de conexão. Se não, execute novamente o comando, colocando a cadeia de conexão entre aspas.O Gerenciador de Segredos armazena o segredo fora da árvore do projeto, o que ajuda a evitar o compartilhamento acidental de segredos no código-fonte. Ele é usado apenas para testar o aplicativo Web localmente. Quando o aplicativo for implantado no Azure como um Serviço de Aplicativo, use Cadeias de conexão, Configurações do aplicativo ou variáveis de ambiente para armazenar a cadeia de conexão. Como alternativa, para evitar cadeias de conexão, você pode se conectar à Configuração de Aplicativos usando identidades gerenciadas ou outras identidades do Microsoft Entra.
Abra Program.cs e adicione a Configuração de Aplicativos do Azure como uma fonte de configuração extra chamando o método
AddAzureAppConfiguration
.var builder = WebApplication.CreateBuilder(args); // Retrieve the connection string string connectionString = builder.Configuration.GetConnectionString("AppConfig"); // Load configuration from Azure App Configuration builder.Configuration.AddAzureAppConfiguration(connectionString); // The rest of existing code in program.cs // ... ...
Esse código se conectará ao repositório da Configuração de Aplicativos usando uma cadeia de conexão e carregará todos os valores de chave que não têm rótulos. Para obter mais informações sobre o provedor de Configuração de Aplicativos, consulte a referência da API do provedor de Configuração de Aplicativos.
Ler no repositório de Configuração de Aplicativos
Neste exemplo, você atualizará uma página da Web para exibir seu conteúdo usando as configurações definidas no repositório de Configuração de Aplicativos.
Adicione um arquivo Settings.cs na raiz do diretório do projeto. Ele define uma classe
Settings
fortemente tipada para a configuração que você vai usar. Substitua o namespace pelo nome do seu projeto.namespace TestAppConfig { public class Settings { public string BackgroundColor { get; set; } public long FontSize { get; set; } public string FontColor { get; set; } public string Message { get; set; } } }
Associe a seção
TestApp:Settings
na configuração ao objetoSettings
.Atualize Program.cs com o código a seguir e adicione o namespace
TestAppConfig
ao início do arquivo.using TestAppConfig; // Existing code in Program.cs // ... ... builder.Services.AddRazorPages(); // Bind configuration "TestApp:Settings" section to the Settings object builder.Services.Configure<Settings>(builder.Configuration.GetSection("TestApp:Settings")); var app = builder.Build(); // The rest of existing code in program.cs // ... ...
Abra Index.cshtml.cs no diretório Páginas e atualize a classe
IndexModel
com o código a seguir. Adicione o namespaceusing Microsoft.Extensions.Options
ao início do arquivo caso ele ainda não tenha sido adicionado.public class IndexModel : PageModel { private readonly ILogger<IndexModel> _logger; public Settings Settings { get; } public IndexModel(IOptionsSnapshot<Settings> options, ILogger<IndexModel> logger) { Settings = options.Value; _logger = logger; } }
Abra Index.cshtml no diretório Páginas e atualize o conteúdo com o código a seguir.
@page @model IndexModel @{ ViewData["Title"] = "Home page"; } <style> body { background-color: @Model.Settings.BackgroundColor; } h1 { color: @Model.Settings.FontColor; font-size: @(Model.Settings.FontSize)px; } </style> <h1>@Model.Settings.Message</h1>
Compilar e executar o aplicativo localmente
Para compilar o aplicativo usando a CLI .NET, navegue até o diretório raiz do seu projeto. Execute o seguinte comando no shell de comando:
dotnet build
Depois que o build for concluído com êxito, execute o seguinte comando para executar o aplicativo Web localmente:
dotnet run
A saída do comando
dotnet run
contém duas URLs. Abra um navegador e navegue até uma destas URLs para acessar seu aplicativo. Por exemplo:https://localhost:5001
.Se você estiver trabalhando no Azure Cloud Shell, selecione o botão Visualização na Web, seguido de Configurar. Quando for solicitado a configurar a porta para a versão prévia, insira 5000 e selecione Abrir e procurar.
A página da Web tem esta aparência:
Limpar os recursos
Se não deseja continuar usando os recursos criados neste artigo, exclua o grupo de recursos que você criou aqui para evitar encargos.
Importante
A exclusão de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos contidos nele são excluídos permanentemente. Não exclua acidentalmente grupo de recursos ou recursos incorretos. Se tiver criado os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que você deseja manter, exclua cada um individualmente do respectivo painel em vez de excluir o grupo de recursos.
- Entre no portal do Azure e selecione Grupos de recursos.
- Na caixa Filtrar por nome..., digite o nome do seu grupo de recursos.
- Na lista de resultados, selecione o nome do grupo de recursos para conferir uma visão geral.
- Selecione Excluir grupo de recursos.
- Você receberá uma solicitação para confirmar a exclusão do grupo de recursos. Insira o nome do grupo de recursos para confirmar e selecione Excluir.
Após alguns instantes, o grupo de recursos e todos os recursos dele são excluídos.
Próximas etapas
Neste início rápido, você:
- Provisionou um novo repositório de Configuração de Aplicativos.
- Conectou-se ao repositório de Configuração de Aplicativos usando a biblioteca do provedor de Configuração de Aplicativos.
- Leu os valores de chave do repositório da Configuração de Aplicativos com a biblioteca do provedor de configuração.
- Exibiu uma página da Web usando as configurações definidas em seu repositório de Configuração de Aplicativos.
Para saber como configurar seu aplicativo Web ASP.NET Core para atualizar dinamicamente as configurações, passe para o próximo tutorial.