Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Avertissement
L’extension Azure CLI Batch sera supprimée le 30 septembre 2024. Désinstallez l’extension avec la commande az extension remove --name azure-batch-cli-extensions.
En utilisant une extension Batch pour Azure CLI, les utilisateurs peuvent exécuter des travaux Batch sans écrire de code.
Créez et utilisez des fichiers de modèle JSON avec Azure CLI pour créer des pools, des travaux et des tâches Batch. Utilisez les commandes d’extension CLI pour charger facilement les fichiers d’entrée de travail dans le compte de stockage associé au compte Batch et télécharger les fichiers de sortie de travail.
Remarque
Les fichiers JSON ne prennent pas en charge les mêmes fonctionnalités que les modèles Azure Resource Manager. Ils sont destinés à être mis en forme comme le corps de la requête REST brute. L’extension CLI ne modifie pas les commandes existantes, mais elle dispose d’une option de modèle similaire qui ajoute des fonctionnalités partielles de modèle Azure Resource Manager. Consultez les extensions Azure Batch CLI pour Windows, Mac et Linux.
Aperçu
Une extension à Azure CLI permet à Batch d’être utilisé de bout en bout par les utilisateurs qui ne sont pas des développeurs. Avec uniquement les commandes CLI, vous pouvez créer un pool, charger des données d’entrée, créer des travaux et des tâches associées et télécharger les données de sortie résultantes. Aucun code supplémentaire n’est requis. Exécutez les commandes CLI directement ou intégrez-les dans des scripts.
Les modèles Batch s’appuient sur la prise en charge existante de Batch dans Azure CLI pour les fichiers JSON pour spécifier des valeurs de propriété lors de la création de pools, de travaux, de tâches et d’autres éléments. Les modèles Batch ajoutent les fonctionnalités suivantes :
Les paramètres peuvent être définis. Lorsque le modèle est utilisé, seules les valeurs de paramètre sont spécifiées pour créer l’élément, avec d’autres valeurs de propriété d’élément spécifiées dans le corps du modèle. Un utilisateur qui comprend Batch et les applications à exécuter par Batch peut créer des modèles, spécifier des valeurs de propriétés de pool, de travail et de tâche. Un utilisateur moins familiarisé avec Batch et/ou les applications doit uniquement spécifier les valeurs des paramètres définis.
Les fabriques de tâches de travail créent une ou plusieurs tâches associées à un travail, ce qui évite de créer de nombreuses définitions de tâches et de simplifier considérablement l’envoi d’un travail.
Les travaux utilisent généralement des fichiers de données d’entrée et produisent des fichiers de données de sortie. Un compte de stockage est associé, par défaut, à chaque compte Batch. Vous pouvez transférer des fichiers vers et depuis ce compte de stockage à l’aide d’Azure CLI, sans codage ni informations d’identification de stockage.
Par exemple, ffmpeg est une application populaire qui traite les fichiers audio et vidéo. À l’aide de l’extension Azure Batch CLI, vous pouvez faciliter l’appel d’un utilisateur ffmpeg pour transcoder des fichiers vidéo sources vers différentes résolutions. Le processus peut ressembler à ceci :
- Créez un modèle de pool. L’utilisateur qui crée le modèle sait comment appeler l’application ffmpeg et ses exigences ; ils spécifient le système d’exploitation approprié, la taille de machine virtuelle, la façon dont ffmpeg est installé (à partir d’un package d’application ou à l’aide d’un gestionnaire de package, par exemple) et d’autres valeurs de propriété de pool. Les paramètres sont créés de sorte que lorsque le modèle est utilisé, seul l’ID du pool et le nombre de machines virtuelles doivent être spécifiés.
- Créez un modèle de travail. L’utilisateur qui crée le modèle sait comment ffmpeg doit être appelé pour transcoder la vidéo source vers une autre résolution et spécifie la ligne de commande de tâche ; ils savent également qu’il existe un dossier contenant les fichiers vidéo sources, avec une tâche requise par fichier d’entrée.
- Un utilisateur final avec un ensemble de fichiers vidéo à transcoder crée d’abord un pool à l’aide du modèle de pool, en spécifiant uniquement l’ID du pool et le nombre de machines virtuelles requises. Ils peuvent ensuite charger les fichiers sources pour transcoder. Un travail peut ensuite être envoyé à l’aide du modèle de travail, en spécifiant uniquement l’ID de pool et l’emplacement des fichiers sources chargés. Le travail Batch est créé, avec une tâche par fichier d’entrée généré. Enfin, les fichiers de sortie transcodés peuvent être téléchargés.
Installation
Pour installer l’extension Azure Batch CLI, commencez par installer Azure CLI 2.0 ou exécutez Azure CLI dans Azure Cloud Shell.
Installez la dernière version de l’extension Batch à l’aide de la commande Azure CLI suivante :
az extension add --name azure-batch-cli-extensions
Pour plus d’informations sur l’extension Batch CLI et des options d’installation supplémentaires, consultez le dépôt GitHub.
Pour utiliser les fonctionnalités d’extension CLI, vous avez besoin d’un compte Azure Batch et, pour les commandes qui transfèrent des fichiers vers et depuis le stockage, un compte de stockage lié.
Pour vous connecter à un compte Batch avec Azure CLI, consultez Gérer les ressources Batch avec Azure CLI.
Modèles
Les modèles Azure Batch sont similaires aux modèles Azure Resource Manager, dans les fonctionnalités et la syntaxe. Il s’agit de fichiers JSON qui contiennent des noms et des valeurs de propriété d’élément, mais ajoutent les principaux concepts suivants :
- Paramètres : autorisent la spécification de valeurs de propriété dans une section Corps, seules les valeurs de paramètre devant être fournies lorsque le modèle est utilisé. Par exemple, la définition complète d’un pool peut être placée dans le corps et un seul paramètre défini pour
poolId; seule une chaîne d’ID de pool doit donc être fournie pour créer un pool. Le corps du modèle peut être créé par une personne ayant connaissance de Batch et des applications à exécuter par Batch ; Seules les valeurs des paramètres définis par l’auteur doivent être fournies lorsque le modèle est utilisé. Cela permet aux utilisateurs sans connaissance approfondie de Batch et/ou d’application d’utiliser les modèles. - Variables : autorisez les valeurs de paramètres simples ou complexes à spécifier dans un emplacement unique et utilisées à un ou plusieurs emplacements dans le corps du modèle. Les variables peuvent simplifier et réduire la taille du modèle, ainsi que la rendre plus gérable en ayant un emplacement pour modifier les propriétés.
- Constructions de niveau supérieur : certaines constructions de niveau supérieur sont disponibles dans le modèle qui ne sont pas encore disponibles dans les API Batch. Par exemple, une fabrique de tâches peut être définie dans un modèle de travail qui crée plusieurs tâches pour le travail à l’aide d’une définition de tâche commune. Ces constructions évitent d’avoir à coder pour créer dynamiquement plusieurs fichiers JSON, tels qu’un fichier par tâche, ainsi que créer des fichiers de script pour installer des applications via un gestionnaire de package.
Modèles de pool
Les modèles de pool prennent en charge les fonctionnalités de modèle standard des paramètres et des variables. Ils prennent également en charge les références de package, qui permettent éventuellement de copier des logiciels vers des nœuds de pool à l’aide de gestionnaires de packages. Le gestionnaire de package et l’ID de package sont spécifiés dans la référence du package. En déclarant un ou plusieurs packages, vous évitez de créer un script qui obtient les packages requis, d’installer le script et d’exécuter le script sur chaque nœud de pool.
Voici un exemple de modèle qui crée un pool de machines virtuelles Linux avec ffmpeg installé. Pour l’utiliser, fournissez uniquement une chaîne d’ID de pool et le nombre de machines virtuelles dans le pool :
{
"parameters": {
"nodeCount": {
"type": "int",
"metadata": {
"description": "The number of pool nodes"
}
},
"poolId": {
"type": "string",
"metadata": {
"description": "The pool ID "
}
}
},
"pool": {
"type": "Microsoft.Batch/batchAccounts/pools",
"apiVersion": "2016-12-01",
"properties": {
"id": "[parameters('poolId')]",
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "20.04-LTS",
"version": "latest"
},
"nodeAgentSKUId": "batch.node.ubuntu 20.04"
},
"vmSize": "STANDARD_D3_V2",
"targetDedicatedNodes": "[parameters('nodeCount')]",
"enableAutoScale": false,
"taskSlotsPerNode": 1,
"packageReferences": [
{
"type": "aptPackage",
"id": "ffmpeg"
}
]
}
}
}
Si le fichier de modèle a été nommé pool-ffmpeg.json, appelez le modèle comme suit :
az batch pool create --template pool-ffmpeg.json
L'interface CLI vous invite à fournir des valeurs pour les paramètres poolId et nodeCount. Vous pouvez également fournir les paramètres dans un fichier JSON. Par exemple:
{
"poolId": {
"value": "mypool"
},
"nodeCount": {
"value": 2
}
}
Si le fichier JSON des paramètres a été nommé pool-parameters.json, appelez le modèle comme suit :
az batch pool create --template pool-ffmpeg.json --parameters pool-parameters.json
Modèles de travail
Les modèles de travail prennent en charge les fonctionnalités de modèle standard des paramètres et des variables. Ils prennent également en charge la construction de la fabrique de tâches, qui crée plusieurs tâches pour un travail à partir d’une définition de tâche. Trois types de fabrique de tâches sont pris en charge : balayage paramétrique, tâche par fichier et collection de tâches.
Voici un exemple de modèle qui crée un travail pour transcoder des fichiers vidéo MP4 avec ffmpeg vers l’une des deux résolutions inférieures. Il crée une tâche par fichier vidéo source. Consultez groupes de fichiers et transfert de fichiers pour plus d’informations sur les groupes de fichiers pour l’entrée et la sortie du travail.
{
"parameters": {
"poolId": {
"type": "string",
"metadata": {
"description": "The name of Azure Batch pool which runs the job"
}
},
"jobId": {
"type": "string",
"metadata": {
"description": "The name of Azure Batch job"
}
},
"resolution": {
"type": "string",
"defaultValue": "428x240",
"allowedValues": [
"428x240",
"854x480"
],
"metadata": {
"description": "Target video resolution"
}
}
},
"job": {
"type": "Microsoft.Batch/batchAccounts/jobs",
"apiVersion": "2016-12-01",
"properties": {
"id": "[parameters('jobId')]",
"constraints": {
"maxWallClockTime": "PT5H",
"maxTaskRetryCount": 1
},
"poolInfo": {
"poolId": "[parameters('poolId')]"
},
"taskFactory": {
"type": "taskPerFile",
"source": {
"fileGroup": "ffmpeg-input"
},
"repeatTask": {
"commandLine": "ffmpeg -i {fileName} -y -s [parameters('resolution')] -strict -2 {fileNameWithoutExtension}_[parameters('resolution')].mp4",
"resourceFiles": [
{
"blobSource": "{url}",
"filePath": "{fileName}"
}
],
"outputFiles": [
{
"filePattern": "{fileNameWithoutExtension}_[parameters('resolution')].mp4",
"destination": {
"autoStorage": {
"path": "{fileNameWithoutExtension}_[parameters('resolution')].mp4",
"fileGroup": "ffmpeg-output"
}
},
"uploadOptions": {
"uploadCondition": "TaskSuccess"
}
}
]
}
},
"onAllTasksComplete": "terminatejob"
}
}
}
Si le fichier de modèle a été nommé job-ffmpeg.json, appelez le modèle comme suit :
az batch job create --template job-ffmpeg.json
Comme précédemment, l’interface CLI vous invite à fournir des valeurs pour les paramètres. Vous pouvez également fournir les paramètres dans un fichier JSON.
Utiliser des modèles dans Batch Explorer
Vous pouvez charger un modèle Batch CLI dans l’application de bureau Batch Explorer pour créer un pool ou un travail Batch. Vous pouvez également sélectionner des modèles de pool et de travaux prédéfinis dans la galerie Batch Explorer.
Pour charger un modèle :
- Dans Batch Explorer, sélectionnez Galerie>Modèles locaux.
- Sélectionnez ou faites glisser-déposer un pool local ou un modèle de tâche.
- Sélectionnez Utiliser ce modèle et suivez les invites à l’écran.
Groupes de fichiers et transfert de fichiers
La plupart des travaux et tâches nécessitent des fichiers d’entrée et produisent des fichiers de sortie. En règle générale, les fichiers d’entrée et les fichiers de sortie sont transférés, du client au nœud ou du nœud au client. L’extension Azure Batch CLI extrait le transfert de fichiers et utilise le compte de stockage que vous pouvez associer à chaque compte Batch.
Un groupe de fichiers équivaut à un conteneur créé dans le compte de stockage Azure. Le groupe de fichiers peut avoir des sous-dossiers.
L’extension Batch CLI fournit des commandes pour charger des fichiers du client vers un groupe de fichiers spécifié et télécharger des fichiers à partir du groupe de fichiers spécifié vers un client.
az batch file upload --local-path c:\source_videos\*.mp4
--file-group ffmpeg-input
az batch file download --file-group ffmpeg-output --local-path
c:\output_lowres_videos
Les modèles de pool et de travail permettent de spécifier les fichiers stockés dans des groupes de fichiers pour les copier vers des nœuds de pool ou les retirer des nœuds de pool vers un groupe de fichiers. Par exemple, dans le modèle de travail spécifié précédemment, le groupe de fichiers ffmpeg-input est spécifié pour la fabrique de tâches comme emplacement des fichiers vidéo sources copiés vers le nœud pour le transcodage. Le groupe de fichiers ffmpeg-output est l’emplacement où les fichiers de sortie transcodés sont copiés à partir du nœud exécutant chaque tâche.
Résumé
La prise en charge des modèles et des transferts de fichiers n’a été ajoutée qu’à Azure CLI. L’objectif est de développer l’audience qui peut utiliser Batch aux utilisateurs qui n’ont pas besoin de développer du code à l’aide des API Batch, telles que les chercheurs et les utilisateurs informatiques. Sans coder, les utilisateurs ayant connaissance d’Azure, Batch et les applications à exécuter par Batch peuvent créer des modèles pour le pool et la création de travaux. Avec les paramètres de modèle, les utilisateurs sans connaissance détaillée de Batch et les applications peuvent utiliser les modèles.
Essayez l’extension Batch pour Azure CLI et fournissez-nous des commentaires ou des suggestions, dans les commentaires de cet article ou via le dépôt De la communauté Batch.
Étapes suivantes
- Consultez la documentation détaillée sur l’installation et l’utilisation, les exemples et le code source dans le référentiel Azure GitHub.
- En savoir plus sur l’utilisation de Batch Explorer pour créer et gérer des ressources Batch.