Partilhar via


Guia de 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 Data API builder (DAB) como um contêiner do Docker para Aplicativos de Contêiner do Azure. Você usa um modelo de CLI do Desenvolvedor do Azure (AZD) para implantar DAB junto com um banco de dados do Azure Cosmos DB para NoSQL usando as práticas recomendadas mais recentes. O modelo também implanta um exemplo de aplicação web que se conecta ao ponto de extremidade DAB usando GraphQL.

Pré-requisitos

  • CLI do desenvolvedor 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 conteinerizada e implantar um aplicativo de exemplo em contêiner. A aplicação de exemplo utiliza 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 preferidas 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. Implante a solução completa no Azure usando o azd up. Os modelos Bicep implantam uma conta 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 para a URL do api e serviços de da Web. Você usa esses valores posteriormente neste guia.

Configurar a conexão do banco de dados

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

  1. Primeiro, navegue até a URL do serviço de API . Este URL vincula-se à instância do DAB em execução.

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

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

  4. No Nitro IDE, 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 de Web. Este URL liga à aplicação web de exemplo em execução que se conecta ao endpoint GraphQL acedido na etapa anterior.

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

    Captura de ecrã da aplicação Web em execução nas Aplicações de Contentor do Azure.

Limpeza

Quando já não necessitar mais da aplicação ou dos recursos de exemplo, remova a implementação correspondente e todos os recursos.

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

    azd down
    
  2. Exclua o espaço de código em execução para maximizar seus direitos de armazenamento e núcleo se estiver usando Codespaces do GitHub.

Próximo passo