Distribuera Data API-byggare till Azure Container Apps

Den här guiden visar hur du distribuerar Data API Builder (DAB) till Azure Container Apps med hjälp av en anpassad containeravbildning som skapats med Azure Container Registry. Container Apps tillhandahåller serverlös skalning, inbyggd ingress och miljöbaserad isolering.

Diagram för den övergripande arkitekturen efter distributionen till Azure Container Apps är klar.

Förutsättningar

Skapa konfigurationsfilen

Börja med att skapa en DAB-konfigurationsfil (Data API Builder) för att ansluta till din befintliga databas. Den här filen används senare med den slutliga containern.

  1. Skapa en tom katalog på den lokala datorn för att lagra konfigurationsfilen.

  2. Initiera en ny baskonfigurationsfil med .dab init Använd följande inställningar minst vid initiering.

    Inställning Värde
    Databastyp Välj en databastyp som stöds.
    Anslutningssträng @env() Använd funktionen för att referera DATABASE_CONNECTION_STRING till miljövariabeln.
    dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"
    

    Viktigt!

    Vissa databastyper kräver extra konfigurationsinställningar vid initiering.

  3. Lägg till minst en databasentitet i konfigurationen. dab add Använd kommandot för att konfigurera en entitet. Konfigurera varje entitet för att tillåta alla behörigheter för anonyma användare. Upprepa dab add så många gånger du vill för dina entiteter.

    dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"
    
  4. Öppna och granska innehållet i dab-config.json-filen . Du använder den här filen senare i den här guiden.

Skapa en anpassad containeravbildning

Skapa en anpassad avbildning som innehåller dab-config.json/App/dab-config.json. Kör dessa kommandon från mappen som innehåller dab-config.json.

  1. Skapa en ny resursgrupp. Du använder den här resursgruppen för alla nya resurser i den här guiden.

    Tips/Råd

    Vi rekommenderar att du namnger resursgruppen msdocs-dab-aca.

  2. Skapa ett Azure Container Registry (ACR) och skapa avbildningen.

    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. Anteckna registerinloggningsservern (<registry-name>.azurecr.io) och imagetaggen (dab:1). Du använder dessa värden när du skapar containerappen.

Skapa containerappen

Skapa containerappen med den anpassade avbildningen som redan innehåller dab-config.json.

  1. Skapa en Azure Container Apps-resurs. Som en del av processen med att skapa appresursen måste du skapa en miljö. Använd de här inställningarna för att konfigurera båda resurserna.

    Resource Inställning Värde
    Miljö Miljönamn Ange ett globalt unikt namn
    Miljö Miljötyp Välj endast förbrukning
    Miljö Lagringsplats för loggar Välj Spara inte loggar
    Applikation Resursgrupp Välj den resursgrupp som du skapade tidigare
    Applikation Region Välj samma region som resursgruppen
    Applikation Använda snabbstartsbild Välj inte
    Applikation Bildkälla Välj Azure Container Registry
    Applikation Registry Välj din ACR-instans
    Applikation Bild och tagg Ange dab:1
    Applikation Miljövariabler – Namn Ange DATABASE_CONNECTION_STRING
    Applikation Miljövariabler – värde Ange anslutningssträngen för databasen.
    Applikation Inledning Kontrollera att Aktiverad är markerat
    Applikation Inkommande trafik Välj Acceptera trafik var som helst
    Applikation Klientcertifikatläge Välj Ignorera
    Applikation Ingresstyp Välj HTTP
    Applikation Målport Ange 5000

    Skärmbild på sidan Skapa containerapp på fliken Container i Azure-portalen.

    Skärmbild på sidan Skapa miljö för containerappar på fliken Grundläggande i Azure-portalen.

    Tips/Råd

    Vi rekommenderar att du använder en anslutningssträng som inte innehåller auktoriseringsnycklar. Använd i stället hanterade identiteter och rollbaserad åtkomstkontroll för att hantera åtkomst mellan din databas och värd. Mer information finns i Azure-tjänster som använder hanterade identiteter.

  2. Gå till den nya containerappen i Azure-portalen.

  3. Använd fältet Program-URL i avsnittet Essentials för att bläddra till containerappens webbplats. Observera svaret som anger att DAB-containern körs och att statusen är felfri.

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

    Anmärkning

    Versionsnumret och namnet varierar beroende på din aktuella version av Data API Builder.

  4. Navigera till /api/swagger-sökvägen för det aktuella körande programmet. Använd Swagger-användargränssnittet för att utfärda en HTTP GET-begäran för en av dina entiteter.

Rensa resurser

När du inte längre behöver exempelprogrammet eller resurserna tar du bort motsvarande distribution och alla resurser.

  1. Navigera till resursgruppen med hjälp av Azure-portalen.

  2. I kommandofältet väljer du Ta bort.

Nästa steg