Udostępnij przez


Szybki start: tworzenie zadania w usłudze Azure Container Apps

W tym szybkim rozpoczęciu utworzysz zadanie dla usługi Azure Container Apps. W usłudze Container Apps zadania są używane do rozpoczynania skonteryzowanych zadań, które działają przez określony czas, a następnie kończą się. Zadania najlepiej nadają się do zadań, takich jak przetwarzanie danych, uczenie maszynowe, oczyszczanie zasobów lub dowolny scenariusz, który wymaga przetwarzania na żądanie.

Zadanie można wyzwolić ręcznie, zaplanować jego uruchomienie lub wyzwolić jego uruchomienie na podstawie zdarzeń. W tej instrukcji szybkiego startu pokazano, jak utworzyć zadanie ręczne lub zaplanowane. Aby dowiedzieć się, jak utworzyć zadanie sterowane zdarzeniami, zobacz Wdrażanie zadania sterowanego zdarzeniami za pomocą usługi Azure Container Apps.

Wymagania wstępne

Aby uzyskać informacje o funkcjach, które zadania usługi Container Apps nie obsługują, zobacz Ograniczenia zadań.

Przygotowywanie środowiska

  1. Aby zalogować się do platformy Azure z poziomu interfejsu wiersza polecenia platformy Azure, uruchom następujące polecenie i postępuj zgodnie z monitami, aby ukończyć proces uwierzytelniania.

    az login
    
  2. Upewnij się, że używasz najnowszej wersji Azure CLI, uruchamiając komendę az upgrade.

    az upgrade
    
  3. Zainstaluj najnowszą wersję rozszerzenia interfejsu wiersza polecenia usługi Container Apps.

    az extension add --name containerapp --upgrade
    
  4. Zarejestruj przestrzenie nazw Microsoft.App, Microsoft.OperationalInsights, i Microsoft.Storage, jeśli nie zostały jeszcze zarejestrowane w subskrypcji Azure.

    az provider register --namespace Microsoft.App
    az provider register --namespace Microsoft.OperationalInsights
    az provider register --namespace Microsoft.Storage
    
  5. Zdefiniuj zmienne środowiskowe używane w tym artykule.

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

Tworzenie środowiska usługi Container Apps

Środowisko Container Apps działa jako granica izolacji wokół aplikacji kontenerowych i prac, pozwalając im współużytkować tę samą sieć i komunikować się ze sobą.

  1. Utwórz grupę zasobów przy użyciu następującego polecenia.

    az group create \
        --name "$RESOURCE_GROUP" \
        --location "$LOCATION"
    
  2. Utwórz środowisko usługi Container Apps przy użyciu następującego polecenia.

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

Tworzenie i uruchamianie zadania ręcznego

Aby użyć zadań ręcznych Manual, należy najpierw utworzyć zadanie z wyzwalaczem typu, a następnie je uruchomić. Można uruchomić wiele uruchomień tego samego zadania, a wiele wykonań zadań może być uruchamianych współbieżnie.

  1. Utwórz zadanie w środowisku Container Apps przy użyciu następującego polecenia.

    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"
    

    Zadania ręczne nie są uruchamiane automatycznie. Musisz uruchomić każde zadanie.

  2. Uruchom zadanie, używając następującego polecenia.

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

    Polecenie zwraca szczegółowe informacje o uruchomieniu zadania, w tym jego nazwę.

Tworzenie i uruchamianie zaplanowanego zadania

Aby użyć zaplanowanych zadań, należy utworzyć zadanie z typem Schedule wyzwalacza i wyrażeniem cron definiującym harmonogram.

Użyj następującego polecenia, aby utworzyć zadanie usługi Container Apps uruchamiane co minutę.

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 * * * *"

Zadanie jest uruchamiane automatycznie zgodnie z harmonogramem.

Zadania usługi Container Apps używają cron wyrażeń do definiowania harmonogramów. Zadania obsługują standardowy format wyrażenia cron , który zawiera pola dla minuty, godziny, dnia miesiąca, miesiąca i dnia tygodnia.

Lista ostatnich uruchomień zadań

Zadania Container Apps prowadzą historię niedawnych uruchomień. Możesz wyświetlić listę uruchomień zadania.

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

Zadania są wyświetlane na liście podczas ich uruchamiania.

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

Wykonywanie zapytań dotyczących dzienników uruchamiania zadania

Zadanie zapisuje dzienniki wyjściowe do dostawcy logów, którego skonfigurowano dla środowiska Container Apps. Domyślnie dzienniki są przechowywane w usłudze Log Analytics.

  1. Zapisz identyfikator obszaru roboczego usługi Log Analytics dla środowiska Container Apps w zmiennej.

    LOG_ANALYTICS_WORKSPACE_ID=$(az containerapp env show \
        --name "$ENVIRONMENT" \
        --resource-group "$RESOURCE_GROUP" \
        --query "properties.appLogsConfiguration.logAnalyticsConfiguration.customerId" \
        --output tsv)
    
  2. Zapisz nazwę ostatniego przebiegu zadania w zmiennej.

    JOB_RUN_NAME=$(az containerapp job execution list \
        --name "$JOB_NAME" \
        --resource-group "$RESOURCE_GROUP" \
        --query "[0].name" \
        --output tsv)
    
  3. Uruchom zapytanie usługi Log Analytics dla zadania uruchomionego przy użyciu następującego polecenia.

    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"
    

    Uwaga

    Dopóki tabela ContainerAppConsoleLogs_CL nie będzie gotowa, polecenie nie zwraca żadnych wyników lub zwraca następujący błąd: "BadArgumentError: Żądanie miało nieprawidłowe właściwości". W obu przypadkach zaczekaj kilka minut, a następnie ponownie uruchom polecenie.

    Poniższe dane wyjściowe to przykład logów generowanych podczas działania zadania.

    [
        "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!"
    ]
    

Czyszczenie zasobów

Jeśli nie zamierzasz nadal używać tego procesu, uruchom następujące polecenie, aby usunąć grupę zasobów i wszystkie zasoby z tego szybkiego startu.

Uwaga

Następujące polecenie usuwa określoną grupę zasobów i wszystkie zawarte w niej zasoby. Jeśli w określonej grupie zasobów istnieją zasoby spoza zakresu tego Szybkiego startu, również zostaną usunięte.

az group delete --name "$RESOURCE_GROUP"

Napiwek

Masz problemy? Poinformuj nas o usłudze GitHub, otwierając problem w repozytorium usługi Azure Container Apps.

Następny krok