Compartilhar via


Início Rápido: Usar o construtor de API de Dados com o Azure Cosmos DB para NoSQL e aplicativos Web estáticos do Azure

Neste início rápido, você implanta o DAB (Construtor de API de Dados) como um contêiner do Docker nos Aplicativos de Contêiner do Azure. Você usa um modelo da CLI do Desenvolvedor do Azure (AZD) para implantar o DAB juntamente com um banco de dados NoSQL do Azure Cosmos DB usando as práticas recomendadas mais recentes. O modelo também implanta um aplicativo web de exemplo que se conecta ao endpoint DAB usando GraphQL.

Pré-requisitos

  • CLI para Desenvolvedores do Azure
  • .NET 9.0

Se você não tiver uma conta do Azure, crie uma conta gratuita antes de começar.

Inicializar o projeto

Use a CLI do Desenvolvedor do Azure (azd) para criar uma conta do Azure Cosmos DB para NoSQL, implantar o DAB como uma solução em contêineres e implantar um aplicativo de exemplo em contêineres. O aplicativo de exemplo usa DAB para consultar dados de exemplo.

  1. Abra um terminal em um diretório vazio.

  2. Se você ainda não estiver autenticado, autentique-se na CLI do Desenvolvedor do Azure usando azd auth login. Siga as etapas especificadas pela ferramenta para autenticar na CLI usando suas credenciais preferenciais do Azure.

    azd auth login
    
  3. Use azd init para inicializar o projeto.

    azd init --template dab-azure-cosmos-db-nosql-quickstart
    
  4. Durante a inicialização, configure um nome de ambiente exclusivo.

  5. Implantar a solução completa no Azure usando azd up. Os modelos do Bicep implantam um conta do Azure Cosmos DB para NoSQL DAB para Aplicativos de Contêiner do Azure e um aplicativo Web de exemplo.

    azd up
    
  6. Durante o processo de provisionamento, selecione sua assinatura e o local desejado. Aguarde a conclusão do processo de provisionamento. O processo pode levar aproximadamente sete minutos.

  7. Depois que o provisionamento dos recursos do Azure for concluído, uma URL para o aplicativo Web em execução será incluída na saída.

    Deploying services (azd deploy)
    
    (✓) Done: Deploying service api
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    (✓) Done: Deploying service web
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    SUCCESS: Your up workflow to provision and deploy to Azure completed in 7 minutes 0 seconds.
    
  8. Registre os valores da URL dos serviços de API e web. Você usará esses valores mais adiante neste guia.

Configurar a conexão de banco de dados

Agora, navegue até cada aplicativo em contêineres nos Aplicativos de Contêiner do Azure para validar se eles estão funcionando conforme o esperado.

  1. Primeiro, navegue até a URL para o serviço da API . Essa URL é vinculada à instância do DAB em execução.

  2. Observe a saída JSON do DAB. Ele deve indicar que o contêiner da DAB está em execução e o status está íntegro.

    {
      "status": "healthy",
      "version": "1.1.7",
      "app-name": "dab_oss_1.1.7"
    }
    
  3. Navegue até o caminho relativo /graphql da instância do DAB. Essa URL deve abrir o IDE (ambiente de desenvolvimento integrado) do Nitro GraphQL.

  4. No IDE do Nitro, crie um novo documento e execute essa consulta para obter todos os 100 itens no contêiner products do Azure Cosmos DB para NoSQL.

    query {
      products {
        items {
        id
        name
        description
        sku
        price
        cost
        }
      }
    }
    
  5. Por fim, navegue até a URL do serviço Web . Essa URL aponta para o aplicativo web de exemplo em execução que se conecta ao endpoint GraphQL acessado anteriormente.

  6. Observe o aplicativo Web em execução e examine os dados de saída.

    Captura de tela do aplicativo Web em execução nos Aplicativos de Contêiner do Azure.

Limpar

Quando você não precisar mais do aplicativo de exemplo ou dos recursos, remova a implantação correspondente e todos os recursos.

  1. Remova a implantação de sua assinatura do Azure.

    azd down
    
  2. Exclua o codespace em execução para maximizar seus direitos de armazenamento e de núcleo se você estiver usando o GitHub Codespaces.

Próxima etapa

pontos de extremidade GraphQL