Data API Builder implementeren in Azure Container Apps

In deze handleiding ziet u hoe u Data API Builder (DAB) implementeert in Azure Container Apps met behulp van een aangepaste containerinstallatiekopie die is gebouwd met Azure Container Registry. Container Apps biedt serverloze schaalaanpassing, ingebouwd inkomend verkeer en isolatie op basis van omgevingen.

Diagram van de algehele architectuur nadat de implementatie naar Azure Container Apps is voltooid.

Vereiste voorwaarden

Het configuratiebestand bouwen

Maak eerst een DAB-configuratiebestand (Data API Builder) om verbinding te maken met uw bestaande database. Dit bestand wordt later gebruikt met de uiteindelijke container.

  1. Maak een lege map op uw lokale computer om het configuratiebestand op te slaan.

  2. Initialiseer een nieuw basisconfiguratiebestand met behulp van dab init. Gebruik de volgende instellingen minimaal voor initialisatie.

    Configuratie Waarde
    Databasetype Selecteer een ondersteund databasetype.
    Verbindingsstring Gebruik de @env() functie om te verwijzen naar de DATABASE_CONNECTION_STRING omgevingsvariabele.
    dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"
    

    Belangrijk

    Voor sommige databasetypen zijn extra configuratie-instellingen vereist voor initialisatie.

  3. Voeg ten minste één database-entiteit toe aan de configuratie. Gebruik de dab add opdracht om een entiteit te configureren. Configureer elke entiteit om alle machtigingen voor anonieme gebruikers toe te staan. Herhaal dab add zo vaak als u wilt voor uw entiteiten.

    dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"
    
  4. Open en controleer de inhoud van het dab-config.json-bestand . U gebruikt dit bestand verderop in deze handleiding.

Een aangepaste containerimage maken

Bouw een aangepaste image die dab-config.json in /App/dab-config.json opneemt. Voer deze opdrachten uit vanuit de map die het bestand bevat dab-config.json.

  1. Een nieuwe resourcegroep maken. U gebruikt deze resourcegroep voor alle nieuwe resources in deze handleiding.

    Aanbeveling

    U wordt aangeraden de resourcegroep msdocs-dab-aca een naam te geven.

  2. Maak een Azure Container Registry (ACR) en bouw de afbeelding.

    az acr create \
      --resource-group "<resource-group-name>" \
      --name "<registry-name>" \
      --sku Basic \
      --admin-enabled true
    
    # Create a Dockerfile that embeds dab-config.json
    cat <<'EOF' > Dockerfile
    FROM mcr.microsoft.com/azure-databases/data-api-builder:latest
    COPY dab-config.json /App/dab-config.json
    EOF
    
    # Build and push the image
    az acr build \
      --registry "<registry-name>" \
      --image "dab:1" \
      .
    
  3. Noteer de registeraanmeldingsserver (<registry-name>.azurecr.io) en de imagetag (dab:1). U gebruikt deze waarden bij het maken van de container-app.

De container-app maken

Maak de container-app met behulp van de aangepaste image die al dab-config.json bevat.

  1. Maak een Azure Container Apps-resource. Als onderdeel van het proces voor het maken van de app-resource moet u een omgeving maken. Gebruik deze instellingen om beide resources te configureren.

    Hulpbron Configuratie Waarde
    Milieu Omgevingsnaam Voer een wereldwijd unieke naam in
    Milieu Omgevingstype Selecteer alleen verbruik
    Milieu Doel van logboeken Selecteer Logboeken niet opslaan
    Applicatie Resourcegroep Selecteer de resourcegroep die u eerder hebt gemaakt
    Applicatie Region Selecteer dezelfde regio als uw resourcegroep
    Applicatie Quickstart-kopie gebruiken Niet selecteren
    Applicatie Afbeeldingsbron Azure Container Registry selecteren
    Applicatie Registry Uw ACR-exemplaar selecteren
    Applicatie Afbeelding en tag dab:1 invoeren
    Applicatie Omgevingsvariabelen - Naam DATABASE_CONNECTION_STRING invoeren
    Applicatie Omgevingsvariabelen - Waarde Voer de verbindingsreeks voor uw database in.
    Applicatie Ingang Controleren of ingeschakeld is
    Applicatie Inkomend verkeer Selecteer Verkeer vanaf elke locatie accepteren
    Applicatie Clientcertificaatmodus Selecteer Negeren
    Applicatie Type inkomend verkeer HTTP selecteren
    Applicatie Doelpoort 5000 invoeren

    Schermopname van het tabblad Container-app maken in de Azure portal.

    Schermopname van het tabblad 'Basis' op de pagina 'Omgeving container-apps maken' in de Azure portal.

    Aanbeveling

    U wordt aangeraden een verbindingsreeks te gebruiken die geen autorisatiesleutels bevat. Gebruik in plaats daarvan beheerde identiteiten en op rollen gebaseerd toegangsbeheer om de toegang tussen uw database en host te beheren. Zie Azure-services die gebruikmaken van beheerde identiteiten voor meer informatie.

  2. Navigeer naar de nieuwe container-app in Azure Portal.

  3. Gebruik het veld Toepassings-URL in de sectie Essentials om naar de website van de container-app te bladeren. Bekijk de reacties die aangeven dat de DAB-container actief is en dat de status in orde is.

    {
        "status": "healthy",
        "version": "1.1.7",
        "app-name": "dab_oss_1.1.7"
    }
    

    Opmerking

    Het versienummer en de naam variëren op basis van uw huidige versie van Data API Builder.

  4. Navigeer naar het /api/swagger pad voor de huidige actieve toepassing. Gebruik de Swagger-gebruikersinterface om een HTTP GET-aanvraag voor een van uw entiteiten uit te geven.

De hulpbronnen opschonen

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

  1. Navigeer naar de resourcegroep met behulp van Azure Portal.

  2. Selecteer Verwijderen in de opdrachtbalk.

Volgende stap