Partager via


Démarrage rapide : Créer un travail dans Azure Container Apps

Dans ce démarrage rapide, vous créez une tâche Azure Container Apps. Dans les applications de conteneur, les tâches sont utilisées pour démarrer des processus conteneurisés qui s'exécutent pendant une durée limitée, puis se terminent. Les travaux conviennent mieux aux tâches telles que le traitement des données, le Machine Learning, le nettoyage des ressources ou tout scénario nécessitant un traitement à la demande.

Vous pouvez déclencher un travail manuellement, planifier son exécution ou déclencher son exécution en fonction des événements. Ce guide de démarrage rapide vous montre comment créer un travail manuel ou planifié. Pour savoir comment créer un travail piloté par les événements, consultez Déployer un travail piloté par les événements avec Azure Container Apps.

Prérequis

Pour plus d’informations sur les fonctionnalités que les travaux Container Apps ne prennent pas en charge, consultez les restrictions de travaux.

Préparer l’environnement

  1. Pour vous connecter à Azure à partir d’Azure CLI, exécutez la commande suivante et suivez les invites pour terminer le processus d’authentification.

    az login
    
  2. Vérifiez que vous exécutez la dernière version d’Azure CLI via la az upgrade commande.

    az upgrade
    
  3. Installez la dernière version de l’extension CLI Container Apps.

    az extension add --name containerapp --upgrade
    
  4. Enregistrez les espaces de noms Microsoft.App, Microsoft.OperationalInsights et Microsoft.Storage s'ils ne sont pas déjà enregistrés dans votre abonnement Azure.

    az provider register --namespace Microsoft.App
    az provider register --namespace Microsoft.OperationalInsights
    az provider register --namespace Microsoft.Storage
    
  5. Définissez les variables d’environnement utilisées dans cet article.

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

Créer un environnement Container Apps

L’environnement Container Apps agit comme une limite d’isolation autour des applications et travaux de conteneur afin qu’ils puissent partager le même réseau et communiquer entre eux.

  1. Créez un groupe de ressources à l’aide de la commande suivante.

    az group create \
        --name "$RESOURCE_GROUP" \
        --location "$LOCATION"
    
  2. Créez l’environnement Container Apps à l’aide de la commande suivante.

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

Créer et exécuter un travail manuel

Pour utiliser des travaux manuels, vous créez d’abord un travail avec un type de déclencheur, Manual puis démarrez son exécution. Vous pouvez démarrer plusieurs exécutions du même travail, et plusieurs exécutions de travaux peuvent s’exécuter simultanément.

  1. Créez un travail dans l’environnement Container Apps à l’aide de la commande suivante.

    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"
    

    Les travaux manuels ne s’exécutent pas automatiquement. Vous devez démarrer chaque tâche.

  2. Démarrez le travail à l’aide de la commande suivante.

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

    La commande retourne des informations détaillées sur l’exécution du travail, y compris son nom.

Créer et exécuter un travail planifié

Pour utiliser des travaux planifiés, vous créez un travail avec un type de Schedule déclencheur et une cron expression qui définit la planification.

Utilisez la commande suivante pour créer un travail Container Apps qui démarre toutes les minutes.

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

L'exécution des tâches commence automatiquement basée sur le calendrier.

Les travaux Container Apps utilisent des cron expressions pour définir des planifications. Les tâches prennent en charge le format d’expression cron standard, qui contient des champs pour la minute, l’heure, le jour du mois, le mois et le jour de la semaine.

Répertorier l’historique des exécutions de travaux récents

Les travaux Container Apps conservent un historique des exécutions récentes. Vous pouvez répertorier les exécutions d’un travail.

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

Les travaux apparaissent dans la liste à mesure qu’ils s’exécutent.

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

Interroger les journaux d’exécution d’un travail

Les exécutions de travail écrivent les journaux de sortie dans le fournisseur de journalisation que vous configurez pour l’environnement Container Apps. Par défaut, les journaux sont stockés dans Log Analytics.

  1. Enregistrez l’ID d’espace de travail Log Analytics pour l’environnement Container Apps dans une variable.

    LOG_ANALYTICS_WORKSPACE_ID=$(az containerapp env show \
        --name "$ENVIRONMENT" \
        --resource-group "$RESOURCE_GROUP" \
        --query "properties.appLogsConfiguration.logAnalyticsConfiguration.customerId" \
        --output tsv)
    
  2. Enregistrez le nom de la tâche la plus récente exécutée dans une variable.

    JOB_RUN_NAME=$(az containerapp job execution list \
        --name "$JOB_NAME" \
        --resource-group "$RESOURCE_GROUP" \
        --query "[0].name" \
        --output tsv)
    
  3. Exécutez une requête Log Analytics pour le travail exécuté à l’aide de la commande suivante.

    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"
    

    Remarque

    Tant que la table ContainerAppConsoleLogs_CL n’est pas prête, la commande ne renvoie aucun résultat, ou renvoie l’erreur suivante : « BadArgumentError : La requête n’a pas de propriétés non valides ». Dans les deux cas, attendez quelques minutes, puis réexécutez la commande.

    La sortie suivante est un exemple des journaux générés lors de l'exécution du travail.

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

Nettoyer les ressources

Si vous ne souhaitez pas continuer à utiliser ce travail, exécutez la commande suivante pour supprimer le groupe de ressources et toutes les ressources de ce guide de démarrage rapide.

Attention

La commande suivante supprime le groupe de ressources spécifié et toutes les ressources qu’il contient. Si des ressources en dehors de l’étendue de ce guide de démarrage rapide existent dans le groupe de ressources spécifié, elles sont également supprimées.

az group delete --name "$RESOURCE_GROUP"

Conseil

Vous rencontrez des problèmes ? Faites-le nous savoir sur GitHub en ouvrant un problème dans le dépôt Azure Container Apps.

Étape suivante