Freigeben über


Schnellstart: Erstellen eines Auftrags in Azure-Container-Apps

In dieser Schnellstartanleitung erstellen Sie einen Azure-Container-Apps-Auftrag. In Container-Apps werden Aufträge verwendet, um containerisierte Aufgaben zu starten, die für eine begrenzte Dauer ausgeführt werden und dann beendet werden. Aufträge eignen sich am besten für Aufgaben wie Datenverarbeitung, Maschinelles Lernen, Ressourcenbereinigung oder jedes Szenario, das eine On-Demand-Verarbeitung erfordert.

Sie können einen Auftrag manuell auslösen, seine Ausführung planen oder die Ausführung basierend auf Ereignissen auslösen. In dieser Schnellstartanleitung erfahren Sie, wie Sie einen manuellen oder geplanten Auftrag erstellen. Informationen zum Erstellen eines ereignisgesteuerten Auftrags finden Sie unter Bereitstellen eines ereignisgesteuerten Auftrags mit Azure-Container-Apps.

Voraussetzungen

Informationen zu Features, die Container-Apps-Aufträge nicht unterstützen, finden Sie unter Auftragseinschränkungen.

Vorbereiten der Umgebung

  1. Um sich über die Azure CLI bei Azure anzumelden, führen Sie den folgenden Befehl aus, und folgen Sie den Anweisungen, um den Authentifizierungsprozess abzuschließen.

    az login
    
  2. Stellen Sie sicher, dass Sie die neueste Version der Azure CLI über den az upgrade Befehl ausführen.

    az upgrade
    
  3. Installieren Sie die neueste Version der Container Apps CLI-Erweiterung.

    az extension add --name containerapp --upgrade
    
  4. Registrieren Sie die Namespaces Microsoft.App, Microsoft.OperationalInsights und Microsoft.Storage, wenn sie noch nicht in Ihrem Azure-Abonnement registriert sind.

    az provider register --namespace Microsoft.App
    az provider register --namespace Microsoft.OperationalInsights
    az provider register --namespace Microsoft.Storage
    
  5. Definieren Sie die Umgebungsvariablen, die in diesem Artikel verwendet werden.

    RESOURCE_GROUP="jobs-quickstart"
    LOCATION="northcentralus"
    ENVIRONMENT="env-jobs-quickstart"
    JOB_NAME="my-job"
    

Erstellen einer Container-Apps-Umgebung

Die Container-Apps-Umgebung fungiert als Isolationsgrenze für Container-Apps und -Aufträge, sodass sie dasselbe Netzwerk gemeinsam nutzen und miteinander kommunizieren können.

  1. Erstellen Sie mit dem folgenden Befehl eine Ressourcengruppe.

    az group create \
        --name "$RESOURCE_GROUP" \
        --location "$LOCATION"
    
  2. Erstellen Sie die Container-Apps-Umgebung mithilfe des folgenden Befehls.

    az containerapp env create \
        --name "$ENVIRONMENT" \
        --resource-group "$RESOURCE_GROUP" \
        --location "$LOCATION"
    

Erstellen und Ausführen eines manuellen Auftrags

Um manuelle Aufträge zu verwenden, erstellen Sie zuerst einen Auftrag mit einem Triggertyp von Manual und starten dann die Ausführung. Sie können mehrere Ausführungen desselben Auftrags starten, und mehrere Auftragsausführungen können gleichzeitig ausgeführt werden.

  1. Erstellen Sie einen Auftrag in der Container-Apps-Umgebung mithilfe des folgenden Befehls.

    az containerapp job create \
        --name "$JOB_NAME" --resource-group "$RESOURCE_GROUP"  --environment "$ENVIRONMENT" \
        --trigger-type "Manual" \
        --replica-timeout 1800 \
        --image "mcr.microsoft.com/k8se/quickstart-jobs:latest" \
        --cpu "0.25" --memory "0.5Gi"
    

    Manuelle Aufträge werden nicht automatisch ausgeführt. Sie müssen jeden Auftrag starten.

  2. Starten Sie den Auftrag mithilfe des folgenden Befehls.

    az containerapp job start \
        --name "$JOB_NAME" \
        --resource-group "$RESOURCE_GROUP"
    

    Der Befehl gibt detaillierte Informationen zur Ausführung des Auftrags einschließlich seines Namens zurück.

Erstellen und Ausführen eines geplanten Auftrags

Um geplante Aufträge zu verwenden, erstellen Sie einen Auftrag mit einem Triggertyp Schedule und einem cron Ausdruck, der den Zeitplan definiert.

Verwenden Sie den folgenden Befehl, um einen Container-Apps-Auftrag zu erstellen, der jede Minute beginnt.

az containerapp job create \
    --name "$JOB_NAME" --resource-group "$RESOURCE_GROUP"  --environment "$ENVIRONMENT" \
    --trigger-type "Schedule" \
    --replica-timeout 1800 \
    --image "mcr.microsoft.com/k8se/quickstart-jobs:latest" \
    --cpu "0.25" --memory "0.5Gi" \
    --cron-expression "*/1 * * * *"

Die Jobläufe starten automatisch basierend auf dem Zeitplan.

Container-Apps-Aufträge verwenden cron Ausdrücke zum Definieren von Zeitplänen. Aufträge unterstützen das standardmäßige Cron-Ausdrucksformat, das Felder für Minute, Stunde, Tag des Monats, Monat und Wochentag enthält.

Aktuellen Auftragsausführungsverlauf auflisten

Container Apps-Aufträge verwalten einen Verlauf der letzten Durchläufe. Sie können die Durchläufe eines Auftrags auflisten.

az containerapp job execution list \
    --name "$JOB_NAME" \
    --resource-group "$RESOURCE_GROUP" \
    --output table \
    --query '[].{Status: properties.status, Name: name, StartTime: properties.startTime}'

Aufträge werden während der Ausführung in der Liste angezeigt.

Status     Name            StartTime
---------  --------------  -------------------------
Succeeded  my-job-jvsgub6  2025-11-17T21:21:45+00:00

Protokolle der Ausführung von Abfrageaufträgen

Auftragsdurchläufe schreiben Ausgabeprotokolle an den Protokollierungsanbieter, den Sie für die Container Apps-Umgebung konfiguriert haben. Standardmäßig werden Protokolle in Log Analytics gespeichert.

  1. Speichern Sie die Log Analytics-Arbeitsbereichs-ID für die Container Apps-Umgebung in einer Variablen.

    LOG_ANALYTICS_WORKSPACE_ID=$(az containerapp env show \
        --name "$ENVIRONMENT" \
        --resource-group "$RESOURCE_GROUP" \
        --query "properties.appLogsConfiguration.logAnalyticsConfiguration.customerId" \
        --output tsv)
    
  2. Speichern Sie den Namen des zuletzt ausgeführten Auftrags in einer Variablen.

    JOB_RUN_NAME=$(az containerapp job execution list \
        --name "$JOB_NAME" \
        --resource-group "$RESOURCE_GROUP" \
        --query "[0].name" \
        --output tsv)
    
  3. Führen Sie eine Log Analytics-Abfrage für den Auftrag aus, der mit dem folgenden Befehl ausgeführt wird.

    az monitor log-analytics query \
        --workspace "$LOG_ANALYTICS_WORKSPACE_ID" \
        --analytics-query "ContainerAppConsoleLogs_CL | where ContainerGroupName_s startswith '$JOB_RUN_NAME' | order by _timestamp_d asc" \
        --query "[].Log_s"
    

    Hinweis

    Bis die ContainerAppConsoleLogs_CL Tabelle bereit ist, gibt der Befehl keine Ergebnisse zurück oder gibt den folgenden Fehler zurück: "BadArgumentError: Die Anforderung hatte einige ungültige Eigenschaften." Warten Sie in beiden Fällen einige Minuten, und führen Sie dann den Befehl erneut aus.

    Die folgende Ausgabe ist ein Beispiel für die Protokolle, die von dem Auftragsdurchlauf ausgegeben werden.

    [
        "2025/11/17 18:38:28 This is a sample application that demonstrates how to use Azure Container Apps jobs",
        "2025/11/17 18:38:28 Starting processing...",
        "2025/11/17 18:38:33 Finished processing. Shutting down!"
    ]
    

Bereinigen von Ressourcen

Wenn Sie diesen Auftrag nicht weiterhin verwenden werden, führen Sie den folgenden Befehl aus, um die Ressourcengruppe und alle Ressourcen aus dieser Schnellstartanleitung zu löschen.

Vorsicht

Mit dem folgenden Befehl werden die angegebene Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht. Wenn Ressourcen außerhalb des Bereichs dieser Schnellstartanleitung in der angegebenen Ressourcengruppe vorhanden sind, werden sie ebenfalls gelöscht.

az group delete --name "$RESOURCE_GROUP"

Tipp

Treten Probleme auf? Informieren Sie uns über GitHub, indem Sie ein Problem im Azure Container Apps-Repository öffnen.

Nächster Schritt