Megosztás a következőn keresztül:


Feladat létrehozása az Azure Container Apps használatával

Az Azure Container Apps-feladatok lehetővé teszik olyan tárolóalapú feladatok futtatását, amelyek véges időtartamra és kilépésre hajthatók végre. A feladatokat manuálisan indíthatja el, ütemezheti a végrehajtásukat, vagy események alapján aktiválhatja a végrehajtásukat.

A feladatok olyan feladatokhoz ideálisak, mint az adatfeldolgozás, a gépi tanulás, az erőforrás-törlés vagy az igény szerinti feldolgozást igénylő forgatókönyvek.

Ebben a rövid útmutatóban egy manuális vagy ütemezett feladatot hoz létre. Az eseményvezérelt feladatok létrehozásáról az Eseményvezérelt feladatok üzembe helyezése az Azure Container Appsben című témakörben olvashat.

Előfeltételek

Beállítás

  1. Ha a parancssori felületről szeretne bejelentkezni az Azure-ba, futtassa a következő parancsot, és kövesse az utasításokat a hitelesítési folyamat befejezéséhez.

    az login
    
  2. Győződjön meg arról, hogy a parancssori felület legújabb verzióját futtatja a frissítési paranccsal.

    az upgrade
    
  3. Telepítse az Azure Container Apps CLI-bővítmény legújabb verzióját.

    az extension add --name containerapp --upgrade
    
  4. Regisztrálja a névtereket és Microsoft.OperationalInsights a Microsoft.App névtereket, ha még nem regisztrálta őket az Azure-előfizetésében.

    az provider register --namespace Microsoft.App
    az provider register --namespace Microsoft.OperationalInsights
    
  5. Most, hogy az Azure CLI beállítása befejeződött, meghatározhatja a jelen cikkben használt környezeti változókat.

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

Container Apps-környezet létrehozása

Az Azure Container Apps-környezet biztonságos határként működik a tárolóalkalmazások és -feladatok körül, így megoszthatják ugyanazt a hálózatot, és kommunikálhatnak egymással.

  1. Az erőforráscsoport létrehozásához használja az alábbi parancsot.

    az group create \
        --name "$RESOURCE_GROUP" \
        --location "$LOCATION"
    
  2. Hozza létre a Container Apps-környezetet az alábbi paranccsal.

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

Manuális feladat létrehozása és futtatása

Manuális feladatok használatához először hozzon létre egy triggertípusú Manual feladatot, majd indítsa el a végrehajtást. Ugyanazon feladat több végrehajtását is elindíthatja, és egyszerre több feladatvégrehajtás is futtatható.

  1. Hozzon létre egy feladatot a Container Apps-környezetben az alábbi paranccsal.

    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"
    

    A manuális feladatok nem futnak automatikusan. El kell indítania a feladat végrehajtását.

  2. Indítsa el a feladat végrehajtását az alábbi paranccsal.

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

    A parancs a feladat végrehajtásának részleteit adja vissza, beleértve a nevét is.

Ütemezett feladat létrehozása és futtatása

Ütemezett feladatok használatához hozzon létre egy eseményindítótípussal Schedule és egy cron kifejezéssel rendelkező feladatot, amely meghatározza az ütemezést.

Hozzon létre egy feladatot a Container Apps-környezetben, amely percenként indul el az alábbi paranccsal.

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

A feladatvégrehajtások automatikusan elindulnak az ütemezés alapján.

A Container Apps-feladatok cron-kifejezésekkel határozzák meg az ütemezéseket. Támogatja a standard cron kifejezésformátumot öt mezővel a perc, óra, a hónap, a hónap és a hét napja mezőben.

Legutóbbi feladatvégrehajtási előzmények listázása

A Container Apps-feladatok megőrzik a legutóbbi végrehajtások előzményeit. A feladatok végrehajtását listázhatja.

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

Az ütemezett feladatok végrehajtása futás közben megjelenik a listában.

Status     Name            StartTime
---------  --------------  -------------------------
Succeeded  my-job-jvsgub6  2023-05-08T21:21:45+00:00

Lekérdezési feladat végrehajtási naplói

A feladatvégrehajtások kimeneti naplókat a Container Apps-környezethez konfigurált naplózási szolgáltatónak hajtanak végre. A naplók alapértelmezés szerint az Azure Log Analyticsben vannak tárolva.

  1. Mentse a Container Apps-környezet Log Analytics-munkaterület-azonosítóját egy változóba.

    LOG_ANALYTICS_WORKSPACE_ID=`az containerapp env show \
        --name "$ENVIRONMENT" \
        --resource-group "$RESOURCE_GROUP" \
        --query "properties.appLogsConfiguration.logAnalyticsConfiguration.customerId" \
        --output tsv`
    
  2. Mentse a legutóbbi feladatvégrehajtás nevét egy változóba.

    JOB_EXECUTION_NAME=`az containerapp job execution list \
        --name "$JOB_NAME" \
        --resource-group "$RESOURCE_GROUP" \
        --query "[0].name" \
        --output tsv`
    
  3. Futtasson egy lekérdezést a Log Analyticsben a feladat végrehajtásához az alábbi paranccsal.

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

    Feljegyzés

    Amíg a ContainerAppConsoleLogs_CL tábla nem áll készen, a parancs nem ad vissza eredményt, vagy hibaüzenetet ad vissza: BadArgumentError: The request had some invalid properties. Várjon néhány percet, és futtassa újra a parancsot.

    Az alábbi kimenet egy példa a feladat végrehajtásával kinyomtatott naplókra.

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

Az erőforrások eltávolítása

Ha nem folytatja az alkalmazás használatát, futtassa az alábbi parancsot az erőforráscsoport és az ebben a rövid útmutatóban létrehozott összes erőforrás törléséhez.

Figyelemfelhívás

Az alábbi parancs törli a megadott erőforráscsoportot és a benne lévő összes erőforrást. Ha a rövid útmutató hatókörén kívül eső erőforrások szerepelnek a megadott erőforráscsoportban, akkor azok is törlődnek.

az group delete --name "$RESOURCE_GROUP"

Tipp.

Problémákat tapasztal? Tudassa velünk a GitHubon, ha megnyit egy hibát az Azure Container Apps adattárában.

Következő lépések