Compartilhar via


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

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

  1. 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
    
  2. 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.

  3. 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.

  1. 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; }
        }
    }
    
  2. Associe a seção TestApp:Settings na configuração ao objeto Settings.

    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
    // ... ...
    
  3. Abra Index.cshtml.cs no diretório Páginas e atualize a classe IndexModel com o código a seguir. Adicione o namespace using 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;
        }
    }
    
  4. 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

  1. 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
    
  2. Depois que o build for concluído com êxito, execute o seguinte comando para executar o aplicativo Web localmente:

    dotnet run
    
  3. 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.

    Screenshot of Azure Cloud Shell. Locate Web Preview.

    A página da Web tem esta aparência: Screenshot of the browser.Launching quickstart app locally.

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.

  1. Entre no portal do Azure e selecione Grupos de recursos.
  2. Na caixa Filtrar por nome..., digite o nome do seu grupo de recursos.
  3. Na lista de resultados, selecione o nome do grupo de recursos para conferir uma visão geral.
  4. Selecione Excluir grupo de recursos.
  5. 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.