Quickstart: Implementar uma aplicação Aspire no Serviço de Aplicações do Azure

Neste quickstart, aprende como criar e implementar a sua primeira aplicação Aspire no Serviço de Aplicações do Azure. O Serviço de Aplicações do Azure oferece uma plataforma totalmente gerida para alojar aplicações web com manutenção de infraestrutura integrada, patches de segurança e escalabilidade.

Pode concluir todo este guia de iniciação rápida no seu navegador, utilizando o contentor de desenvolvimento oficial do Aspire para o GitHub Codespaces. No final, tens uma aplicação Aspire a correr implementada no Serviço de Aplicações do Azure.

Important

A integração do Aspire com o Serviço de Aplicações do Azure está atualmente em pré-visualização.

Este guia de início rápido utiliza um AppHost em C# e projetos .NET. O Aspire também suporta TypeScript AppHosts e recursos de aplicação poliglotas. Para mais informações, consulte Aspire AppHost e Novidades no Aspire 13.5.

Pré-requisitos

Criar uma aplicação inicial Aspire num espaço de código do GitHub

  1. Crie um repositório a partir do modelo de contentor de desenvolvimento Aspire.

  2. No novo repositório, selecione Codespaces>>Criar codespace no main.

    O seu navegador abre um espaço de código com o Visual Studio Code. O ambiente inclui o CLI Aspire e um certificado local de desenvolvimento HTTPS de confiança.

    Para mais informações, consulte Develop with Aspire using GitHub Codespaces.

  3. No terminal, crie uma nova aplicação Aspire:

    aspire new aspire-starter --name aspire-starter --output aspire-starter
    

    O comando cria um novo diretório nomeado aspire-starter com uma solução Aspire completa, incluindo:

    • Um projeto AppHost para orquestração
    • Um projeto ServiceDefaults para configurações partilhadas
    • Exemplos de projetos de API e frontend web
  4. Navegue até ao diretório do projeto:

    cd aspire-starter
    

Adicionar integração com o Serviço de Aplicações do Azure

Configure a sua aplicação Aspire para ser implementada no Serviço de Aplicações do Azure.

  1. Adicione a integração de alojamento do Serviço de Aplicações do Azure:

    aspire add Aspire.Hosting.Azure.AppService
    

    O aspire add comando deteta o projeto AppHost e adiciona o Aspire.Hosting.Azure.AppService pacote. Para obter mais informações, veja aspire add.

  2. Abre o aspire-starter/aspire-starter.AppHost/AppHost.cs.

  3. Adicione um ambiente Serviço de Aplicações do Azure após a CreateBuilder linha:

    builder.AddAzureAppServiceEnvironment("app-service-env");
    

    Para mais informações, consulte Preciso de um ambiente de Serviços de Aplicações para correr aplicações Aspire?.

  4. Acrescenta .WithExternalHttpEndpoints() ao projeto apiservice. O seu recurso completo apiservice deve ser assim:

    var apiService = builder.AddProject<Projects.aspire_starter_ApiService>("apiservice")
        .WithExternalHttpEndpoints()
        .WithHttpHealthCheck("/health");
    

    Note

    O App Service suporta apenas endpoints HTTP e HTTPS externos e uma porta alvo distinta para cada aplicação implementada. O template inicial já expõe o endpoint do frontend. Para mais informações, veja integração com Serviço de Aplicações do Azure Hosting.

  5. A partir da raiz da solução, execute aspire run para verificar localmente o AppHost.

    Uma captura de ecrã do painel atual da Aspire a mostrar o ambiente do App Service e recursos de exemplo da app.

Publicar no Azure

  1. Iniciar sessão no Azure:

    az login
    
  2. Implante o aplicativo:

    aspire deploy
    

    Quando solicitado, selecione a sua subscrição Azure, localização e grupo de recursos. O Aspire armazena as definições de implementação selecionadas como segredos de utilizador do AppHost para que possas reutilizá-las.

    O aspire deploy comando executa as seguintes ações com base no seu código AppHost.cs :

    • Cria ou reutiliza o grupo de recursos selecionado
    • Cria um Plano de Serviços de Aplicações Azure
    • Cria um Registro de Contêiner do Azure
    • Cria duas aplicações web do App Service (uma para a API, outra para o frontend)
    • Cria um recurso gerido do Aspire Dashboard
    • Constrói e conteiriza as suas aplicações
    • Empurra os contentores para o Azure Container Registry
    • Implementa os contentores no App Service

    Para mais informações sobre definições de implementação e autenticação, consulte Deploy to Azure.

  3. Quando a implementação termina, o comando mostra os URLs dos endpoints dos serviços implementados e do Aspire Dashboard.

    Para mais informações sobre o fluxo de implementação, consulte Deploy to Serviço de Aplicações do Azure.

Navegue pela sua aplicação Aspire

  1. No resultado de implementação, encontre a URL do webfrontend serviço. Parece semelhante a:

    webfrontend: https://webfrontend-xxxxx.azurewebsites.net
    
  2. Copie o URL e abra-o num novo separador do navegador.

    Vê a aplicação inicial Aspire a correr no Serviço de Aplicações do Azure. A interface web comunica com o serviço API, demonstrando a arquitetura distribuída.

  3. Tenta navegar pela aplicação para confirmar se está a funcionar corretamente.

  4. Para visualizar o Aspire Dashboard, encontre o URL do Aspire Dashboard na saída de implementação e abra-o num novo separador do navegador.

Ver detalhes de implementação no portal Azure

  1. Navegue até o portal do Azure.

  2. Na barra de pesquisa, escreva grupos de recursos e selecione Grupos de Recursos.

  3. Encontre e selecione o grupo de recursos que escolheu durante aspire deploy.

    Uma captura de ecrã da vista do grupo de recursos de uma aplicação Aspire implementada pela Aspire.

    Você deve ver os seguintes recursos:

    • Plano de Serviço de Aplicações: A infraestrutura de alojamento
    • Serviços de Aplicação: As suas aplicações webfrontend e apiservice
    • Aspire Dashboard: Um recurso Azure gerido protegido por controlo de acesso baseado em funções (RBAC).
    • Registo de Contentores: Armazena as imagens dos seus contentores
    • Identidade atribuída pelo utilizador: Fornece acesso seguro entre serviços

Limpeza de recursos

Quando já não precisares dos recursos do Azure, elimina-os para evitar incorrer em encargos.

  1. No seu terminal de codespace, execute:

    aspire destroy
    
  2. Quando solicitado, confirme que pretende destruir o ambiente implementado.

O comando executa a etapa de destruição registada pelo ambiente do App Service. Para obter mais informações, veja aspire destroy.

Atenção

aspire destroy apaga todo o grupo de recursos, incluindo recursos que não foram criados pela Aspire. Revise o grupo de recursos alvo antes de confirmar.

Perguntas mais frequentes

Preciso de um ambiente de App Service para correr aplicações Aspire?

Não. Apesar do nome, AddAzureAppServiceEnvironment não fornece um Ambiente do Serviço de Aplicações no nível Isolado. Cria um recurso de ambiente Aspire que representa a infraestrutura de alojamento do Serviço de Aplicações para a sua aplicação.

Quando liga AddAzureAppServiceEnvironment, prevê:

  • Um Plano de Serviço de Aplicações do Azure (nível Premium P0V3 no Linux por padrão)
  • Um Azure Container Registry para armazenar imagens de contentores
  • Uma identidade gerida atribuída pelo utilizador para acesso seguro entre serviços

Este conceito de ambiente Aspire agrupa os seus recursos e fornece a infraestrutura necessária para implementar as suas aplicações Aspire no Serviço de Aplicações do Azure.

Como posso personalizar a implementação do meu App Service?

Pode personalizar a implementação do seu App Service modificando a configuração AppHost.cs. A integração do Aspire Serviço de Aplicações do Azure oferece várias formas de personalizar a sua implementação:

  • Configurar o Plano de Serviços de Aplicações: Ajustar SKU, níveis e opções de escalabilidade
  • Personalizar definições do Serviço de Aplicações: Adicionar variáveis de ambiente, cadeias de ligação e definições da aplicação
  • Configurar infraestrutura: Modificar redes, autenticação e outros recursos Azure
  • Use os recursos existentes: Ligue-se a Planos de Serviço de Aplicações existentes ou a outros recursos do Azure

Para mais informações, consulte Configurar uma aplicação Aspire para Serviço de Aplicações do Azure.

Para mais informações sobre cargas de trabalho e comportamento de implementação do App Service suportados, consulte integração com o Serviço de Aplicações do Azure Hosting e Deploy to Serviço de Aplicações do Azure.

Passos seguintes

Implementou com sucesso uma aplicação Aspire para o Serviço de Aplicações do Azure! Aqui estão alguns passos seguintes a explorar:

Explore as funcionalidades do Serviço de Aplicações do Azure