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
- Egy Azure-fiók, aktív előfizetéssel.
- Ha még nem rendelkezik fiókkal, ingyen létrehozhat egyet.
- Telepítse az Azure CLI-t.
- A korlátozások listájához tekintse meg a feladatokra vonatkozó korlátozásokat .
Beállítás
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
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
Telepítse az Azure Container Apps CLI-bővítmény legújabb verzióját.
az extension add --name containerapp --upgrade
Regisztrálja a
Microsoft.App
,Microsoft.OperationalInsights
ésMicrosoft.Storage
a 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 az provider register --namespace Microsoft.Storage
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.
Az erőforráscsoport létrehozásához használja az alábbi parancsot.
az group create \ --name "$RESOURCE_GROUP" \ --location "$LOCATION"
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ó.
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.
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.
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)
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)
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.