Delen via


Quickstart: Data API Builder gebruiken met Azure Cosmos DB for NoSQL en Azure Static Web Apps

In deze quickstart implementeert u Data API Builder (DAB) als Docker-container in Azure Container Apps. U gebruikt een AZD-sjabloon (Azure Developer CLI) om DAB samen met een Azure Cosmos DB for NoSQL-database te implementeren met behulp van de nieuwste aanbevolen procedures. Met de sjabloon wordt ook een voorbeeldwebtoepassing geïmplementeerd die verbinding maakt met het DAB-eindpunt met behulp van GraphQL.

Voorwaarden

  • Azure Developer CLI
  • .NET 9.0

Als u geen Azure-account hebt, maakt u een gratis account voordat u begint.

Het project initialiseren

Gebruik de Azure Developer CLI (azd) om een Azure Cosmos DB for NoSQL-account te maken, DAB te implementeren als een containeroplossing en een in een container geplaatste voorbeeldtoepassing te implementeren. De voorbeeldtoepassing maakt gebruik van DAB om een query uit te voeren op voorbeeldgegevens.

  1. Open een terminal in een lege map.

  2. Als u nog niet bent geverifieerd, moet u zich verifiëren bij de Azure Developer CLI met behulp van azd auth login. Volg de stappen die door het hulpprogramma zijn opgegeven om te verifiëren bij de CLI met behulp van uw favoriete Azure-referenties.

    azd auth login
    
  3. Gebruik azd init om het project te initialiseren.

    azd init --template dab-azure-cosmos-db-nosql-quickstart
    
  4. Configureer tijdens de initialisatie een unieke omgevingsnaam.

  5. Implementeer de volledige oplossing in Azure met behulp van azd up. De Bicep-sjablonen implementeren een Azure Cosmos DB for NoSQL-account DAB in Azure Container Apps en een voorbeeldwebtoepassing.

    azd up
    
  6. Selecteer tijdens het inrichtingsproces uw abonnement en gewenste locatie. Wacht tot het provisioningproces is voltooid. Het proces kan ongeveer zeven minuten duren.

  7. Zodra het inrichten van uw Azure-resources is voltooid, wordt er een URL naar de actieve webtoepassing opgenomen in de uitvoer.

    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. Noteer de waarden voor de URL van de API- en web--services. U gebruikt deze waarden verderop in deze handleiding.

De databaseverbinding configureren

Blader nu naar elke containertoepassing in Azure Container Apps om te controleren of ze werken zoals verwacht.

  1. Navigeer eerst naar de URL voor de API--service. Deze URL is gekoppeld aan het actieve DAB-exemplaar.

  2. Bekijk de JSON-uitvoer van DAB. Er moet worden aangegeven dat de DAB-container draait en dat de status in orde is.

    {
      "status": "healthy",
      "version": "1.1.7",
      "app-name": "dab_oss_1.1.7"
    }
    
  3. Navigeer naar het relatieve /graphql pad voor het DAB-exemplaar. Met deze URL moet de Nitro GraphQL Integrated Development Environment (IDE) worden geopend.

  4. Maak in de Nitro IDE een nieuw document en voer deze query uit om alle 100 items op te halen in de Azure Cosmos DB for NoSQL-container products.

    query {
      products {
        items {
        id
        name
        description
        sku
        price
        cost
        }
      }
    }
    
  5. Navigeer ten slotte naar de URL voor de web--service. Deze URL is gekoppeld aan de actieve voorbeeldwebtoepassing die verbinding maakt met het GraphQL-eindpunt dat u in de vorige stap hebt geopend.

  6. Bekijk de actieve webtoepassing en controleer de uitvoergegevens.

    schermopname van de actieve webtoepassing in Azure Container Apps.

Opschonen

Wanneer u de voorbeeldtoepassing of resources niet meer nodig hebt, verwijdert u de bijbehorende implementatie en alle resources.

  1. Verwijder de implementatie uit uw Azure-abonnement.

    azd down
    
  2. Verwijder de actieve codespace om uw opslag- en kernrechten te maximaliseren als u GitHub Codespaces gebruikt.

Volgende stap