Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Figyelmeztetés
A Batch Azure CLI kiterjesztés nyugalmazásra kerül 2024. szeptember 30-án. Kérjük, távolítsa el a bővítményt a az extension remove --name azure-batch-cli-extensions parancs használatával.
Az Azure CLI Batch bővítmény használatával a felhasználók anélkül futtathatják a Batch feladatokat, hogy kódot kellene írniuk.
JSON sablonfájlok létrehozása és használata az Azure CLI segítségével a Batch fürtök, feladatok és munkák létrehozásához. Használjon CLI kiterjesztési parancsokat a feladat bemeneti fájljainak könnyű feltöltéséhez a Batch fiókhoz kapcsolódó tárhelyfiókra, és a feladat kimeneti fájljainak letöltéséhez.
Megjegyzés:
A JSON fájlok nem támogatják ugyanazt a funkcionalitást, mint az Azure Resource Manager sablonok. Úgy kell formázni őket, mint a nyers REST kéréstörzset. A CLI kiterjesztés nem változtatja meg a meglévő parancsokat, de van egy hasonló sablon opciója, amely hozzáadja az Azure Resource Manager sablon részleges funkcionalitását. See Azure Batch CLI Extensions for Windows, Mac and Linux.
Áttekintés
Az Azure CLI kiterjesztése lehetővé teszi, hogy a Batch végponttól végpontig történő használatát olyan felhasználók is elvégezhessék, akik nem fejlesztők. Csak CLI parancsokkal létrehozhat egy tárat, feltölthet bemeneti adatokat, létrehozhat munkákat és a kapcsolódó feladatokat, valamint letöltheti a keletkezett kimeneti adatokat. Nincs szükség további kódra. Futtassa a parancssori felület (CLI) parancsait közvetlenül, vagy integrálja őket szkriptekbe.
A Batch sablonok az Azure CLI-ben meglévő Batch támogatásra épülnek, amely JSON fájlokat használ a poolok, feladatok, munkák és más elemek létrehozásához szükséges tulajdonságértékek meghatározására. A köteg sablonok a következő képességeket adják hozzá:
A paraméterek meghatározhatók. Amikor a sablont használják, csak a paraméterértékek vannak meghatározva az elem létrehozásához, míg az egyéb elem tulajdonsági értékek a sablon törzsében vannak megadva. Egy felhasználó, aki érti a Batch működését és az általa futtatandó alkalmazásokat, sablonokat hozhat létre, amelyekben megadhatja a készlet, feladat és munka tulajdonságait. Egy kevésbé jártas felhasználónak csak meg kell adnia a meghatározott paraméterek értékeit a Batch és/vagy az alkalmazások esetében.
A feladatgyárak egy vagy több, a munkához kapcsolódó feladatot hoznak létre, elkerülve ezzel, hogy sok feladatdefiníciót kelljen létrehozni, és jelentősen egyszerűsítik a munka benyújtását.
A feladatok tipikusan bemeneti adatfájlokat használnak, és kimeneti adatfájlokat állítanak elő. Alapértelmezetten minden Batch-fiókhoz tartozik egy tárolási fiók. Fájlokat másolhat erre és erről a tárolási fiókról az Azure CLI segítségével, programozás és tárolási hitelesítési adatok nélkül.
Például a ffmpeg egy népszerű alkalmazás, amely hang- és videófájlokat dolgoz fel. Az Azure Batch CLI bővítmény használatával megkönnyítheti a felhasználóknak, hogy az ffmpeg-et hívják meg a forrásvideó fájlok különböző felbontásokra való transzkódolásához. A folyamat így nézhet ki:
- Hozzon létre egy sablont a medencéhez. A sablont készítő felhasználó tudja, hogyan kell meghívni az ffmpeg alkalmazást és annak követelményeit; meghatározza a megfelelő operációs rendszert, a VM méretét, azt, hogy az ffmpeg hogyan van telepítve (például alkalmazáscsomagból vagy csomagkezelő segítségével), valamint a többi erőforráshalmaz tulajdonságértéket. A paraméterek úgy vannak létrehozva, hogy amikor a sablont használják, csak a pool ID-t és a VM-ek számát kell megadni.
- Hozzon létre egy állássablont. A sablont létrehozó felhasználó tudja, hogyan kell meghívni az ffmpeg-et, hogy áttranszkódolja a forrásvideót egy másik felbontásra, és megadja a feladat parancssori utasítását; azt is tudják, hogy van egy mappa, amely a forrásvideofájlokat tartalmazza, és minden input fájlhoz szükséges egy feladat.
- Elsődleges felhasználó, aki videofájlokat szeretne transzkódolni, először létrehoz egy készletet a készlet sablon segítségével, megadva csak a készlet azonosítóját és a szükséges VM-ek számát. Ezt követően feltölthetik a forrásfájlokat átkódolásra. Ezután munkát lehet benyújtani a munkasablon használatával, csak a feltöltött forrásfájlok tár ID-ját és helyét megadva. A csomagfeladat létre van hozva, minden bemeneti fájlhoz egy feladat kerül generálásra. Végül a transzkódolt kimeneti fájlok letölthetők.
Installation
Az Azure Batch CLI kiterjesztés telepítéséhez először telepítse az Azure CLI 2.0-t, vagy futtassa az Azure CLI-t az Azure Cloud Shellben.
Telepítse a Batch bővítmény legújabb verzióját a következő Azure CLI parancs használatával:
az extension add --name azure-batch-cli-extensions
For more information about the Batch CLI extension and additional installation options, see the GitHub repo.
A CLI bővítmény funkcióinak használatához szüksége van egy Azure Batch fiókra, és azokhoz a parancsokhoz, amelyek fájlokat továbbítanak tárhelybe vagy onnan, egy kapcsolt tárhelyfiókra.
A Batch-fiókba való bejelentkezéshez az Azure CLI használatával lásd: Batch erőforrások kezelése Azure CLI-vel.
Sablonok
Az Azure Batch sablonok hasonlóak az Azure Resource Manager sablonokhoz, mind funkcionalitásban, mind szintaxisban. JSON-fájlok, amelyek elemek tulajdonságneveit és értékeit tartalmazzák, de a következő főbb fogalmakat is hozzáadják:
-
Paraméterek: Lehetővé teszi a tulajdonságértékek megadását egy szövegtörzsben, ahol csak a paraméterértékeket kell megadni a sablon használatakor. Például a medence teljes definíciója elhelyezhető a szövegtörzsben, és csak egy paraméter definiálható
poolId; így a medence létrehozásához csak egy medenceazonosító stringre van szükség. A sablon törzsét olyan személy készítheti, aki ismeri a Batch-et és a Batch által futtatandó alkalmazásokat; a sablon használata során csak a szerző által meghatározott paraméterek értékeit kell megadni. Ez lehetővé teszi a sablonok használatát olyan felhasználók számára is, akik nem rendelkeznek mélyreható Batch és/vagy alkalmazásismeretekkel. - Változók: Lehetővé teszik, hogy egyszerű vagy összetett paraméterértékeket megadjanak egy helyen, és ezek felhasználhatók legyenek a sablon törzsében egy vagy több helyen. A változók egyszerűsíthetik és csökkenthetik a sablon méretét, valamint karbantarthatóbbá tehetik, mivel a tulajdonságok megváltoztatására egy helyen van lehetőség.
- Magasabb szintű konstrukciók: Néhány magasabb szintű konstrukció elérhető a sablonban, amelyek még nem érhetők el a Batch API-kban. Például egy feladatgyár meghatározható egy munkasablonban, amely több feladatot hoz létre a munkához, közös feladatdefiníció használatával. Ezek a konstrukciók elkerülik annak szükségességét, hogy kódot írjunk több JSON fájl dinamikus létrehozására, például minden feladathoz külön fájl elkészítésére, valamint szkripteket írjunk azért, hogy alkalmazásokat telepítsünk egy csomagkezelő segítségével.
Medence sablonok
A pool sablonok támogatják a paraméterek és változók szabványos sablonképességeit. Támogatják a csomaghivatkozásokat is, amelyek opcionálisan lehetővé teszik, hogy a szoftver csomagkezelők segítségével a pool csomópontokra kerüljön. A csomagkezelő és a csomagazonosító a csomaghivatkozásban van meghatározva. Az egy vagy több csomag deklarálásával elkerülhető egy script létrehozása, amely begyűjti a szükséges csomagokat, a script telepítése és a script futtatása minden pool csomóponton.
A következő egy sablon példa, amely létrehoz egy Linux virtuális gépek csoportját ffmpeg telepítéssel. Az eszköz használatához adjon meg egy poolazonosító karakterláncot és a poolban lévő VM-ek számát.
{
"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"
}
]
}
}
}
If the template file was named pool-ffmpeg.json, then invoke the template as follows:
az batch pool create --template pool-ffmpeg.json
A CLI felszólítja Önt, hogy adjon meg értékeket a poolId és nodeCount paraméterekhez. A paramétereket JSON fájlban is megadhatja. Például:
{
"poolId": {
"value": "mypool"
},
"nodeCount": {
"value": 2
}
}
Ha a paraméterek JSON fájl neve pool-parameters.json, akkor az alábbi módon hívja meg a sablont:
az batch pool create --template pool-ffmpeg.json --parameters pool-parameters.json
Feladatsablonok
A munkasablonok támogatják a paraméterek és változók szabványos sablonképességeit. Az általuk támogatott feladat gyár konstrukció több feladatot hoz létre egy munkához egyetlen feladatdefinícióból. Háromféle feladatgyár támogatott: paraméteres söprés, feladat fájlonként és feladatgyűjtemény.
A következő példa egy sablonra, amely egy feladatot hoz létre MP4 videofájlok ffmpeg-gel történő kódolására két alacsonyabb felbontás egyikére. It creates one task per source video file. Tekintse meg a fájlcsoportok és fájlátvitel részt a feladatok bemenetére és kimenetére vonatkozó fájlcsoportok további információiért.
{
"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"
}
}
}
Ha a sablonfájl neve job-ffmpeg.json volt, akkor a sablont a következőképpen hívja meg:
az batch job create --template job-ffmpeg.json
As before, the CLI prompts you to provide values for the parameters. A paramétereket JSON fájlban is megadhatja.
Használjon sablonokat a Batch Explorerben
You can upload a Batch CLI template to the Batch Explorer desktop application to create a Batch pool or job. A Batch Explorer galériában előre meghatározott készlettel és munkasablonokkal is választhat.
Sablon feltöltéséhez:
- In Batch Explorer, select Gallery>Local templates.
- Válassza ki, vagy húzza és ejtse be, a helyi tárat vagy munkasablont.
- Válassza a Használja ezt a sablont opciót, és kövesse a képernyőn megjelenő utasításokat.
Fájl csoportok és fájl átvitel
A legtöbb munkakör és feladat bemeneti fájlokat igényel, és kimeneti fájlokat hoz létre. Általában a bemeneti és kimeneti fájlok átkerülnek, akár az ügyféltől a csomópontra, akár a csomópontról az ügyfélhez. Az Azure Batch CLI kiterjesztés elvonja a fájlátvitelt a felhasználó számára, és kihasználja a tárfiókot, amelyet minden Batch fiókhoz társíthat.
A fájlcsoport megfelel egy tárolónak, amelyet az Azure-tárfiókban hoznak létre. A fájlcsoportnak lehetnek almappái.
A Batch CLI kiterjesztés parancsokat biztosít a fájlok kliensről egy megadott fájlcsoportba történő feltöltéséhez és a fájlok letöltéséhez a megadott fájlcsoportból a kliensre.
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
A pool- és munkasablonok lehetővé teszik, hogy a fájlcsoportokban tárolt fájlokat a pool csomópontokra másolásra vagy a pool csomópontokról vissza egy fájlcsoportba másolásra kijelöljük. Például az előzőleg megadott munkasablonban a ffmpeg-input fájlcsoport van megadva feladatgyárként, ahol a forrás videófájlok a csomópontra letöltődnek kódolásra. A fájlcsoport ffmpeg-output az a hely, ahová a transzkódolt kimeneti fájlokat másolják a feladatokat futtató node-ról.
Összefoglalás
Template and file transfer support have currently been added only to the Azure CLI. The goal is to expand the audience that can use Batch to users who do not need to develop code using the Batch APIs, such as researchers and IT users. Programozás nélkül az Azure, a Batch és a Batch által futtatandó alkalmazások ismeretével rendelkező felhasználók sablonokat hozhatnak létre a pool és feladatok létrehozásához. A sablon paraméterei révén a felhasználók, akik nem rendelkeznek részletes ismeretekkel a Batch és alkalmazások terén, használhatják a sablonokat.
Próbálja ki a Batch kiterjesztést az Azure CLI-hez, és ossza meg velünk visszajelzéseit vagy javaslatait, akár ennek a cikknek a megjegyzéseiben, akár a Batch Community repo segítségével.
Következő lépések
- View detailed installation and usage documentation, samples, and source code in the Azure GitHub repo.
- Learn more about using Batch Explorer to create and manage Batch resources.