Bagikan melalui


Tasks - Create Task

Membuat Tugas ke Pekerjaan yang ditentukan.
Masa pakai maksimum Tugas dari penambahan hingga penyelesaian adalah 180 hari. Jika Tugas belum selesai dalam waktu 180 hari setelah ditambahkan, Tugas tersebut akan dihentikan oleh layanan Batch dan dibiarkan dalam keadaan apa pun saat itu.

POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01
POST {endpoint}/jobs/{jobId}/tasks?api-version=2025-06-01&timeOut={timeOut}

Parameter URI

Nama Dalam Diperlukan Jenis Deskripsi
endpoint
path True

string (uri)

Titik akhir akun batch (misalnya: https://batchaccount.eastus2.batch.azure.com).

jobId
path True

string

ID Pekerjaan tempat Tugas akan dibuat.

api-version
query True

string

minLength: 1

Versi API yang digunakan untuk operasi ini.

timeOut
query

integer (int32)

Waktu maksimum yang dapat dihabiskan server untuk memproses permintaan, dalam hitung detik. Defaultnya adalah 30 detik. Jika nilainya lebih besar dari 30, defaultnya akan digunakan sebagai gantinya.".

Header Permintaan

Media Types: "application/json; odata=minimalmetadata"

Nama Diperlukan Jenis Deskripsi
client-request-id

string

Identitas permintaan yang dihasilkan penelepon, dalam bentuk GUID tanpa dekorasi seperti kurung kurawal, misalnya 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.

return-client-request-id

boolean

Apakah server harus mengembalikan client-request-id dalam respons.

ocp-date

string (date-time-rfc7231)

Waktu permintaan dikeluarkan. Pustaka klien biasanya mengatur ini ke waktu jam sistem saat ini; atur secara eksplisit jika Anda memanggil REST API secara langsung.

Isi Permintaan

Media Types: "application/json; odata=minimalmetadata"

Nama Diperlukan Jenis Deskripsi
commandLine True

string

Baris perintah Tugas. Untuk Tugas multi-instans, baris perintah dijalankan sebagai Tugas utama, setelah Tugas utama dan semua subtugas selesai menjalankan baris perintah koordinasi. Baris perintah tidak berjalan di bawah shell, dan oleh karena itu tidak dapat memanfaatkan fitur shell seperti ekspansi variabel lingkungan. Jika Anda ingin memanfaatkan fitur tersebut, Anda harus memanggil shell di baris perintah, misalnya menggunakan "cmd /c MyCommand" di Windows atau "/bin/sh -c MyCommand" di Linux. Jika baris perintah mengacu pada jalur file, baris tersebut harus menggunakan jalur relatif (relatif terhadap direktori kerja Tugas), atau menggunakan variabel lingkungan yang disediakan Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

id True

string

String yang secara unik mengidentifikasi Tugas dalam Pekerjaan. ID dapat berisi kombinasi karakter alfanumerik termasuk tanda hubung dan garis bawah, dan tidak boleh berisi lebih dari 64 karakter. ID tersebut melestarikan huruf besar/kecil dan tidak peka huruf besar/kecil (yaitu, Anda mungkin tidak memiliki dua ID dalam Pekerjaan yang hanya berbeda menurut huruf besar/kecil).

affinityInfo

BatchAffinityInfo

Petunjuk lokalitas yang dapat digunakan oleh layanan Batch untuk memilih Node Komputasi untuk memulai Tugas baru.

applicationPackageReferences

BatchApplicationPackageReference[]

Daftar Paket yang akan disebarkan oleh layanan Batch ke Node Komputasi sebelum menjalankan baris perintah. Paket aplikasi diunduh dan disebarkan ke direktori bersama, bukan direktori kerja Tugas. Oleh karena itu, jika paket yang direferensikan sudah ada di Node, dan diperbarui, maka paket tersebut tidak diunduh ulang; salinan yang ada pada Node Komputasi digunakan. Jika Paket yang direferensikan tidak dapat diinstal, misalnya karena paket telah dihapus atau karena pengunduhan gagal, Tugas gagal.

authenticationTokenSettings

AuthenticationTokenSettings

Pengaturan untuk token autentikasi yang dapat digunakan Tugas untuk melakukan operasi layanan Batch. Jika properti ini diatur, layanan Batch menyediakan Tugas dengan token autentikasi yang dapat digunakan untuk mengautentikasi operasi layanan Batch tanpa memerlukan kunci akses Akun. Token disediakan melalui variabel lingkungan AZ_BATCH_AUTHENTICATION_TOKEN. Operasi yang dapat dilakukan Tugas menggunakan token bergantung pada pengaturan. Misalnya, Tugas dapat meminta izin Pekerjaan untuk menambahkan Tugas lain ke Pekerjaan, atau memeriksa status Pekerjaan atau Tugas lain di bawah Pekerjaan.

constraints

BatchTaskConstraints

Batasan eksekusi yang berlaku untuk Tugas ini. Jika Anda tidak menentukan batasan, maxTaskRetryCount adalah maxTaskRetryCount yang ditentukan untuk Job, maxWallClockTime tidak terbatas, dan retentionTime adalah 7 hari.

containerSettings

BatchTaskContainerSettings

Pengaturan untuk kontainer tempat Tugas berjalan. Jika Kumpulan yang akan menjalankan Tugas ini memiliki containerConfiguration yang ditetapkan, ini juga harus diatur. Jika Kumpulan yang akan menjalankan Tugas ini tidak memiliki containerConfiguration yang ditetapkan, ini tidak boleh diatur. Ketika ini ditentukan, semua direktori secara rekursif di bawah AZ_BATCH_NODE_ROOT_DIR (akar direktori Azure Batch pada simpul) dipetakan ke dalam kontainer, semua variabel lingkungan Tugas dipetakan ke dalam kontainer, dan baris perintah Tugas dijalankan dalam kontainer. File yang dihasilkan dalam kontainer di luar AZ_BATCH_NODE_ROOT_DIR mungkin tidak tercermin ke disk host, yang berarti bahwa API file Batch tidak akan dapat mengakses file tersebut.

dependsOn

BatchTaskDependencies

Tugas yang bergantung pada Tugas ini. Tugas ini tidak akan dijadwalkan sampai semua Tugas yang bergantung padanya berhasil diselesaikan. Jika salah satu dari Tugas tersebut gagal dan menghabiskan jumlah percobaan ulangnya, Tugas ini tidak akan pernah dijadwalkan. Jika Job tidak memiliki usesTaskDependencies yang diatur ke true, dan elemen ini ada, permintaan gagal dengan kode kesalahan TaskDependenciesNotSpecifiedOnJob.

displayName

string

Nama tampilan untuk Tugas. Nama tampilan tidak perlu unik dan dapat berisi karakter Unicode hingga panjang maksimum 1024.

environmentSettings

EnvironmentSetting[]

Daftar pengaturan variabel lingkungan untuk Tugas.

exitConditions

ExitConditions

Bagaimana layanan Batch harus merespons saat Tugas selesai.

multiInstanceSettings

MultiInstanceSettings

Objek yang menunjukkan bahwa Tugas adalah Tugas multi-instans, dan berisi informasi tentang cara menjalankan Tugas multi-instans.

outputFiles

OutputFile[]

Daftar file yang akan diunggah oleh layanan Batch dari Compute Node setelah menjalankan baris perintah. Untuk Tugas multi-instance, file hanya akan diunggah dari Node Komputasi tempat Tugas utama dijalankan.

requiredSlots

integer (int32)

Jumlah slot penjadwalan yang diperlukan Tugas untuk berjalan. Defaultnya adalah 1. Tugas hanya dapat dijadwalkan untuk berjalan pada simpul komputasi jika simpul memiliki cukup slot penjadwalan kosong yang tersedia. Untuk Tugas multi-instans, ini harus 1.

resourceFiles

ResourceFile[]

Daftar file yang akan diunduh layanan Batch ke Simpul Komputasi sebelum menjalankan baris perintah. Untuk Tugas multi-instans, file sumber daya hanya akan diunduh ke Node Komputasi tempat Tugas utama dijalankan. Ada ukuran maksimum untuk daftar file sumber daya. Ketika ukuran maksimum terlampaui, permintaan akan gagal dan kode kesalahan respons akan menjadi RequestEntityTooLarge. Jika ini terjadi, kumpulan ResourceFiles harus dikurangi ukurannya. Ini dapat dicapai menggunakan file .zip, Paket Aplikasi, atau Kontainer Docker.

userIdentity

UserIdentity

Identitas pengguna tempat Tugas berjalan. Jika dihilangkan, Tugas berjalan sebagai pengguna non-administratif yang unik untuk Tugas.

Respons

Nama Jenis Deskripsi
201 Created

Permintaan telah berhasil dan sumber daya baru telah dibuat sebagai hasilnya.

Header

  • DataServiceId: string
  • ETag: string
  • Last-Modified: string
  • client-request-id: string
  • request-id: string
Other Status Codes

BatchError

Respons kesalahan tak terduga.

Keamanan

OAuth2Auth

Jenis: oauth2
Alur: implicit
URL Otorisasi: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Cakupan

Nama Deskripsi
https://batch.core.windows.net//.default

Contoh

Creates a basic task
Creates a task with container settings
Creates a task with container settings with data isolation
Creates a task with container settings with duplicate source
Creates a task with exit conditions
Creates a task with extra slot requirement

Creates a basic task

Permintaan sampel

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "task1",
  "commandLine": "cmd /c echo task1"
}

Respon sampel

Creates a task with container settings

Permintaan sampel

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerRunOptions": "--rm"
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Respon sampel

Creates a task with container settings with data isolation

Permintaan sampel

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Respon sampel

Creates a task with container settings with duplicate source

Permintaan sampel

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "bash -c 'echo hello'",
  "containerSettings": {
    "imageName": "ubuntu",
    "containerHostBatchBindMounts": [
      {
        "source": "Task",
        "isReadOnly": true
      },
      {
        "source": "Task",
        "isReadOnly": true
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Respon sampel

Creates a task with exit conditions

Permintaan sampel

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "taskId",
  "commandLine": "cmd /c exit 3",
  "exitConditions": {
    "exitCodeRanges": [
      {
        "start": 2,
        "end": 4,
        "exitOptions": {
          "jobAction": "terminate"
        }
      }
    ]
  },
  "userIdentity": {
    "autoUser": {
      "scope": "task",
      "elevationLevel": "nonadmin"
    }
  }
}

Respon sampel

Creates a task with extra slot requirement

Permintaan sampel

POST {endpoint}/jobs/jobId/tasks?api-version=2025-06-01



{
  "id": "task1",
  "requiredSlots": 2,
  "commandLine": "cmd /c echo task1"
}

Respon sampel

Definisi

Nama Deskripsi
AuthenticationTokenSettings

Pengaturan untuk token autentikasi yang dapat digunakan Tugas untuk melakukan operasi layanan Batch.

AutoUserScope

Enum AutoUserScope

AutoUserSpecification

Menentukan opsi untuk pengguna otomatis yang menjalankan Tugas Azure Batch.

BatchAccessScope

Enum BatchAccessScope

BatchAffinityInfo

Petunjuk lokalitas yang dapat digunakan oleh layanan Batch untuk memilih Simpul Komputasi tempat memulai Tugas.

BatchApplicationPackageReference

Referensi ke Paket yang akan disebarkan ke Simpul Komputasi.

BatchError

Respons kesalahan diterima dari layanan Azure Batch.

BatchErrorDetail

Item informasi tambahan yang disertakan dalam respons kesalahan Azure Batch.

BatchErrorMessage

Pesan kesalahan diterima dalam respons kesalahan Azure Batch.

BatchJobActionKind

Enum BatchJobAction

BatchNodeIdentityReference

Referensi ke identitas yang ditetapkan pengguna yang terkait dengan kumpulan Batch yang akan digunakan simpul komputasi.

BatchTaskConstraints

Batasan eksekusi untuk diterapkan ke Tugas.

BatchTaskContainerSettings

Pengaturan kontainer untuk Tugas.

BatchTaskCreateOptions

Parameter untuk membuat Tugas Azure Batch.

BatchTaskDependencies

Menentukan dependensi Tugas apa pun. Tugas apa pun yang ditentukan secara eksplisit atau dalam rentang dependensi harus diselesaikan sebelum Tugas dependan akan dijadwalkan.

BatchTaskIdRange

Awal dan akhir rentang bersifat inklusif. Misalnya, jika rentang memiliki mulai 9 dan akhir 12, maka rentang mewakili Tugas '9', '10', '11' dan '12'.

ContainerHostBatchBindMountEntry

Entri jalur dan mode pemasangan yang ingin Anda pasang ke dalam kontainer tugas.

ContainerHostDataPath

Jalur yang akan dipasang ke kontainer tugas kontainer.

ContainerRegistryReference

Registri kontainer privat.

ContainerWorkingDirectory

Enum ContainerWorkingDirectory

DependencyAction

Enum DependencyAction

ElevationLevel

Enum ElevationLevel

EnvironmentSetting

Variabel lingkungan yang akan diatur pada proses Tugas.

ExitCodeMapping

Bagaimana layanan Batch harus merespons jika Tugas keluar dengan kode keluar tertentu.

ExitCodeRangeMapping

Berbagai kode keluar dan bagaimana layanan Batch harus merespons kode keluar dalam rentang tersebut.

ExitConditions

Menentukan bagaimana layanan Batch harus merespons ketika Tugas selesai.

ExitOptions

Menentukan bagaimana layanan Batch merespons kondisi keluar tertentu.

MultiInstanceSettings

Tugas multi-instans umumnya digunakan untuk mendukung Tugas MPI. Dalam kasus MPI, jika salah satu subtugas gagal (misalnya karena keluar dengan kode keluar bukan nol) seluruh Tugas multi-instans gagal. Tugas multi-instans kemudian dihentikan dan dicoba kembali, hingga batas coba lagi.

OutputFile

Pada setiap unggahan file, layanan Batch menulis dua file log ke simpul komputasi, 'fileuploadout.txt' dan 'fileuploaderr.txt'. File log ini digunakan untuk mempelajari lebih lanjut tentang kegagalan tertentu.

OutputFileBlobContainerDestination

Menentukan tujuan unggahan file dalam kontainer penyimpanan blob Azure.

OutputFileDestination

Tujuan tempat file harus diunggah.

OutputFileUploadCondition

Enum OutputFileUploadCondition

OutputFileUploadConfig

Opsi untuk operasi pengunggahan file output, termasuk dalam kondisi apa untuk melakukan unggahan.

OutputFileUploadHeader

Pasangan nama-nilai header HTTP

ResourceFile

Satu file atau beberapa file yang akan diunduh ke Simpul Komputasi.

UserIdentity

Definisi identitas pengguna tempat Tugas dijalankan. Tentukan properti userName atau autoUser, tetapi tidak keduanya.

AuthenticationTokenSettings

Pengaturan untuk token autentikasi yang dapat digunakan Tugas untuk melakukan operasi layanan Batch.

Nama Jenis Deskripsi
access

BatchAccessScope[]

Sumber daya Batch yang memberikan akses token. Token autentikasi memberikan akses ke serangkaian operasi layanan Batch terbatas. Saat ini satu-satunya nilai yang didukung untuk properti akses adalah 'job', yang memberikan akses ke semua operasi yang terkait dengan Job yang berisi Task.

AutoUserScope

Enum AutoUserScope

Nilai Deskripsi
task

Menentukan bahwa layanan harus membuat pengguna baru untuk Tugas.

pool

Menentukan bahwa Tugas berjalan sebagai Akun pengguna otomatis umum yang dibuat pada setiap Node Komputasi dalam Kumpulan.

AutoUserSpecification

Menentukan opsi untuk pengguna otomatis yang menjalankan Tugas Azure Batch.

Nama Jenis Deskripsi
elevationLevel

ElevationLevel

Tingkat elevasi pengguna otomatis. Nilai defaultnya adalah nonAdmin.

scope

AutoUserScope

Cakupan untuk pengguna otomatis. Nilai defaultnya adalah kumpulan. Jika kumpulan menjalankan Windows, nilai Tugas harus ditentukan jika isolasi yang lebih ketat antar tugas diperlukan. Misalnya, jika tugas memutasi registri dengan cara yang dapat memengaruhi tugas lain.

BatchAccessScope

Enum BatchAccessScope

Nilai Deskripsi
job

Memberikan akses untuk melakukan semua operasi pada Pekerjaan yang berisi Tugas.

BatchAffinityInfo

Petunjuk lokalitas yang dapat digunakan oleh layanan Batch untuk memilih Simpul Komputasi tempat memulai Tugas.

Nama Jenis Deskripsi
affinityId

string

String buram yang mewakili lokasi Simpul Komputasi atau Tugas yang telah berjalan sebelumnya. Anda dapat meneruskan affinityId Node untuk menunjukkan bahwa Tugas ini perlu berjalan pada Node Komputasi tersebut. Perhatikan bahwa ini hanya afinitas lunak. Jika Simpul Komputasi target sibuk atau tidak tersedia pada saat Tugas dijadwalkan, maka Tugas akan dijadwalkan di tempat lain.

BatchApplicationPackageReference

Referensi ke Paket yang akan disebarkan ke Simpul Komputasi.

Nama Jenis Deskripsi
applicationId

string

ID aplikasi yang akan disebarkan. Saat membuat kumpulan, ID aplikasi paket harus sepenuhnya memenuhi syarat (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}).

version

string

Versi aplikasi yang akan disebarkan. Jika dihilangkan, versi default disebarkan. Jika ini dihilangkan pada Kumpulan, dan tidak ada versi default yang ditentukan untuk aplikasi ini, permintaan gagal dengan kode kesalahan InvalidApplicationPackageReferences dan kode status HTTP 409. Jika ini dihilangkan pada Tugas, dan tidak ada versi default yang ditentukan untuk aplikasi ini, Tugas gagal dengan kesalahan pra-pemrosesan.

BatchError

Respons kesalahan diterima dari layanan Azure Batch.

Nama Jenis Deskripsi
code

string

Pengidentifikasi untuk kesalahan. Kode invarian dan dimaksudkan untuk dikonsumsi secara terprogram.

message

BatchErrorMessage

Pesan yang menjelaskan kesalahan, dimaksudkan agar cocok untuk ditampilkan di antarmuka pengguna.

values

BatchErrorDetail[]

Kumpulan pasangan kunci-nilai yang berisi detail tambahan tentang kesalahan.

BatchErrorDetail

Item informasi tambahan yang disertakan dalam respons kesalahan Azure Batch.

Nama Jenis Deskripsi
key

string

Pengidentifikasi yang menentukan arti properti Nilai.

value

string

Informasi tambahan yang disertakan dengan respons kesalahan.

BatchErrorMessage

Pesan kesalahan diterima dalam respons kesalahan Azure Batch.

Nama Jenis Deskripsi
lang

string

Kode bahasa pesan kesalahan.

value

string

Teks pesan.

BatchJobActionKind

Enum BatchJobAction

Nilai Deskripsi
none

Tidak mengambil tindakan.

disable

Nonaktifkan pekerjaan. Ini setara dengan memanggil disable Job API, dengan nilai disableTasks dari requeue.

terminate

Hentikan pekerjaan. terminationReason dalam executionInfo Pekerjaan diatur ke "TaskFailed".

BatchNodeIdentityReference

Referensi ke identitas yang ditetapkan pengguna yang terkait dengan kumpulan Batch yang akan digunakan simpul komputasi.

Nama Jenis Deskripsi
resourceId

string (arm-id)

Id sumber daya ARM dari identitas yang ditetapkan pengguna.

BatchTaskConstraints

Batasan eksekusi untuk diterapkan ke Tugas.

Nama Jenis Deskripsi
maxTaskRetryCount

integer (int32)

Jumlah maksimum kali Tugas dapat dicoba kembali. Layanan Batch mencoba kembali Tugas jika kode keluarnya bukan nol. Perhatikan bahwa nilai ini secara khusus mengontrol jumlah percobaan ulang untuk Task executable karena kode keluar bukan nol. Layanan Batch akan mencoba Tugas sekali, dan kemudian dapat mencoba kembali hingga batas ini. Misalnya, jika jumlah coba lagi maksimum adalah 3, Batch mencoba Tugas hingga 4 kali (satu percobaan awal dan 3 percobaan ulang). Jika jumlah percobaan ulang maksimum adalah 0, layanan Batch tidak mencoba lagi Tugas setelah upaya pertama. Jika jumlah percobaan kembali maksimum adalah -1, layanan Batch mencoba kembali Tugas tanpa batas, namun ini tidak disarankan untuk tugas mulai atau tugas apa pun. Nilai defaultnya adalah 0 (tidak ada percobaan ulang).

maxWallClockTime

string (duration)

Waktu maksimum yang telah berlalu yang dapat dijalankan oleh Tugas, diukur dari saat Tugas dimulai. Jika Tugas tidak selesai dalam batas waktu, layanan Batch menghentikannya. Jika ini tidak ditentukan, tidak ada batasan waktu berapa lama Tugas dapat berjalan.

retentionTime

string (duration)

Waktu minimum untuk mempertahankan direktori Tugas pada Node Komputasi tempat ia berjalan, sejak selesai eksekusi. Setelah waktu ini, layanan Batch dapat menghapus direktori Tugas dan semua isinya. Defaultnya adalah 7 hari, yaitu direktori Tugas akan dipertahankan selama 7 hari kecuali Compute Node dihapus atau Job dihapus.

BatchTaskContainerSettings

Pengaturan kontainer untuk Tugas.

Nama Jenis Deskripsi
containerHostBatchBindMounts

ContainerHostBatchBindMountEntry[]

Jalur yang ingin Anda pasang ke tugas kontainer. Jika array ini null atau tidak ada, tugas kontainer akan memasang seluruh drive disk sementara di windows (atau AZ_BATCH_NODE_ROOT_DIR di Linux). Ini tidak akan memasang jalur data apa pun ke dalam kontainer jika array ini diatur sebagai kosong.

containerRunOptions

string

Opsi tambahan untuk perintah buat kontainer. Opsi tambahan ini disediakan sebagai argumen ke perintah "buat docker", selain yang dikontrol oleh Layanan Batch.

imageName

string

Gambar yang akan digunakan untuk membuat kontainer tempat Tugas akan berjalan. Ini adalah referensi Gambar lengkap, seperti yang akan ditentukan untuk "docker pull". Jika tidak ada tag yang disediakan sebagai bagian dari nama Gambar, tag ":latest" digunakan sebagai default.

registry

ContainerRegistryReference

Registri pribadi yang berisi Gambar kontainer. Pengaturan ini dapat dihilangkan jika sudah disediakan pada pembuatan Kumpulan.

workingDirectory

ContainerWorkingDirectory

Lokasi direktori kerja tugas kontainer. Defaultnya adalah 'taskWorkingDirectory'.

BatchTaskCreateOptions

Parameter untuk membuat Tugas Azure Batch.

Nama Jenis Deskripsi
affinityInfo

BatchAffinityInfo

Petunjuk lokalitas yang dapat digunakan oleh layanan Batch untuk memilih Node Komputasi untuk memulai Tugas baru.

applicationPackageReferences

BatchApplicationPackageReference[]

Daftar Paket yang akan disebarkan oleh layanan Batch ke Node Komputasi sebelum menjalankan baris perintah. Paket aplikasi diunduh dan disebarkan ke direktori bersama, bukan direktori kerja Tugas. Oleh karena itu, jika paket yang direferensikan sudah ada di Node, dan diperbarui, maka paket tersebut tidak diunduh ulang; salinan yang ada pada Node Komputasi digunakan. Jika Paket yang direferensikan tidak dapat diinstal, misalnya karena paket telah dihapus atau karena pengunduhan gagal, Tugas gagal.

authenticationTokenSettings

AuthenticationTokenSettings

Pengaturan untuk token autentikasi yang dapat digunakan Tugas untuk melakukan operasi layanan Batch. Jika properti ini diatur, layanan Batch menyediakan Tugas dengan token autentikasi yang dapat digunakan untuk mengautentikasi operasi layanan Batch tanpa memerlukan kunci akses Akun. Token disediakan melalui variabel lingkungan AZ_BATCH_AUTHENTICATION_TOKEN. Operasi yang dapat dilakukan Tugas menggunakan token bergantung pada pengaturan. Misalnya, Tugas dapat meminta izin Pekerjaan untuk menambahkan Tugas lain ke Pekerjaan, atau memeriksa status Pekerjaan atau Tugas lain di bawah Pekerjaan.

commandLine

string

Baris perintah Tugas. Untuk Tugas multi-instans, baris perintah dijalankan sebagai Tugas utama, setelah Tugas utama dan semua subtugas selesai menjalankan baris perintah koordinasi. Baris perintah tidak berjalan di bawah shell, dan oleh karena itu tidak dapat memanfaatkan fitur shell seperti ekspansi variabel lingkungan. Jika Anda ingin memanfaatkan fitur tersebut, Anda harus memanggil shell di baris perintah, misalnya menggunakan "cmd /c MyCommand" di Windows atau "/bin/sh -c MyCommand" di Linux. Jika baris perintah mengacu pada jalur file, baris tersebut harus menggunakan jalur relatif (relatif terhadap direktori kerja Tugas), atau menggunakan variabel lingkungan yang disediakan Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

BatchTaskConstraints

Batasan eksekusi yang berlaku untuk Tugas ini. Jika Anda tidak menentukan batasan, maxTaskRetryCount adalah maxTaskRetryCount yang ditentukan untuk Job, maxWallClockTime tidak terbatas, dan retentionTime adalah 7 hari.

containerSettings

BatchTaskContainerSettings

Pengaturan untuk kontainer tempat Tugas berjalan. Jika Kumpulan yang akan menjalankan Tugas ini memiliki containerConfiguration yang ditetapkan, ini juga harus diatur. Jika Kumpulan yang akan menjalankan Tugas ini tidak memiliki containerConfiguration yang ditetapkan, ini tidak boleh diatur. Ketika ini ditentukan, semua direktori secara rekursif di bawah AZ_BATCH_NODE_ROOT_DIR (akar direktori Azure Batch pada simpul) dipetakan ke dalam kontainer, semua variabel lingkungan Tugas dipetakan ke dalam kontainer, dan baris perintah Tugas dijalankan dalam kontainer. File yang dihasilkan dalam kontainer di luar AZ_BATCH_NODE_ROOT_DIR mungkin tidak tercermin ke disk host, yang berarti bahwa API file Batch tidak akan dapat mengakses file tersebut.

dependsOn

BatchTaskDependencies

Tugas yang bergantung pada Tugas ini. Tugas ini tidak akan dijadwalkan sampai semua Tugas yang bergantung padanya berhasil diselesaikan. Jika salah satu dari Tugas tersebut gagal dan menghabiskan jumlah percobaan ulangnya, Tugas ini tidak akan pernah dijadwalkan. Jika Job tidak memiliki usesTaskDependencies yang diatur ke true, dan elemen ini ada, permintaan gagal dengan kode kesalahan TaskDependenciesNotSpecifiedOnJob.

displayName

string

Nama tampilan untuk Tugas. Nama tampilan tidak perlu unik dan dapat berisi karakter Unicode hingga panjang maksimum 1024.

environmentSettings

EnvironmentSetting[]

Daftar pengaturan variabel lingkungan untuk Tugas.

exitConditions

ExitConditions

Bagaimana layanan Batch harus merespons saat Tugas selesai.

id

string

String yang secara unik mengidentifikasi Tugas dalam Pekerjaan. ID dapat berisi kombinasi karakter alfanumerik termasuk tanda hubung dan garis bawah, dan tidak boleh berisi lebih dari 64 karakter. ID tersebut melestarikan huruf besar/kecil dan tidak peka huruf besar/kecil (yaitu, Anda mungkin tidak memiliki dua ID dalam Pekerjaan yang hanya berbeda menurut huruf besar/kecil).

multiInstanceSettings

MultiInstanceSettings

Objek yang menunjukkan bahwa Tugas adalah Tugas multi-instans, dan berisi informasi tentang cara menjalankan Tugas multi-instans.

outputFiles

OutputFile[]

Daftar file yang akan diunggah oleh layanan Batch dari Compute Node setelah menjalankan baris perintah. Untuk Tugas multi-instance, file hanya akan diunggah dari Node Komputasi tempat Tugas utama dijalankan.

requiredSlots

integer (int32)

Jumlah slot penjadwalan yang diperlukan Tugas untuk berjalan. Defaultnya adalah 1. Tugas hanya dapat dijadwalkan untuk berjalan pada simpul komputasi jika simpul memiliki cukup slot penjadwalan kosong yang tersedia. Untuk Tugas multi-instans, ini harus 1.

resourceFiles

ResourceFile[]

Daftar file yang akan diunduh layanan Batch ke Simpul Komputasi sebelum menjalankan baris perintah. Untuk Tugas multi-instans, file sumber daya hanya akan diunduh ke Node Komputasi tempat Tugas utama dijalankan. Ada ukuran maksimum untuk daftar file sumber daya. Ketika ukuran maksimum terlampaui, permintaan akan gagal dan kode kesalahan respons akan menjadi RequestEntityTooLarge. Jika ini terjadi, kumpulan ResourceFiles harus dikurangi ukurannya. Ini dapat dicapai menggunakan file .zip, Paket Aplikasi, atau Kontainer Docker.

userIdentity

UserIdentity

Identitas pengguna tempat Tugas berjalan. Jika dihilangkan, Tugas berjalan sebagai pengguna non-administratif yang unik untuk Tugas.

BatchTaskDependencies

Menentukan dependensi Tugas apa pun. Tugas apa pun yang ditentukan secara eksplisit atau dalam rentang dependensi harus diselesaikan sebelum Tugas dependan akan dijadwalkan.

Nama Jenis Deskripsi
taskIdRanges

BatchTaskIdRange[]

Daftar rentang ID Tugas yang bergantung pada Tugas ini. Semua Tugas di semua rentang harus berhasil diselesaikan sebelum Tugas dependen dapat dijadwalkan.

taskIds

string[]

Daftar ID Tugas yang bergantung pada Tugas ini. Semua Tugas dalam daftar ini harus berhasil diselesaikan sebelum Tugas dependen dapat dijadwalkan. Koleksi taskIds dibatasi hingga total 64000 karakter (yaitu panjang gabungan dari semua ID Tugas). Jika koleksi taskIds melebihi panjang maksimum, permintaan Tambahkan Tugas gagal dengan kode kesalahan TaskDependencyListTooLong. Dalam hal ini, pertimbangkan untuk menggunakan rentang ID Tugas sebagai gantinya.

BatchTaskIdRange

Awal dan akhir rentang bersifat inklusif. Misalnya, jika rentang memiliki mulai 9 dan akhir 12, maka rentang mewakili Tugas '9', '10', '11' dan '12'.

Nama Jenis Deskripsi
end

integer (int32)

ID Tugas terakhir dalam rentang.

start

integer (int32)

ID Tugas pertama dalam rentang.

ContainerHostBatchBindMountEntry

Entri jalur dan mode pemasangan yang ingin Anda pasang ke dalam kontainer tugas.

Nama Jenis Deskripsi
isReadOnly

boolean

Pasang jalur sumber ini sebagai mode baca-saja atau tidak. Nilai defaultnya adalah false (mode baca/tulis). Untuk Linux, jika Anda memasang jalur ini sebagai mode baca/tulis, ini tidak berarti bahwa semua pengguna dalam kontainer memiliki akses baca/tulis untuk jalur, itu tergantung pada akses di VM host. Jika jalur ini dipasang baca-saja, semua pengguna dalam kontainer tidak akan dapat mengubah jalur.

source

ContainerHostDataPath

Jalur yang dipasang ke pelanggan kontainer dapat memilih.

ContainerHostDataPath

Jalur yang akan dipasang ke kontainer tugas kontainer.

Nilai Deskripsi
Shared

Jalur untuk tugas multi-instans untuk berbagi file mereka.

Startup

Jalur untuk memulai tugas.

VfsMounts

Jalur berisi semua sistem file virtual dipasang pada simpul ini.

Task

Jalur tugas.

JobPrep

Jalur tugas persiapan pekerjaan.

Applications

Jalur aplikasi.

ContainerRegistryReference

Registri kontainer privat.

Nama Jenis Deskripsi
identityReference

BatchNodeIdentityReference

Referensi ke identitas yang ditetapkan pengguna untuk digunakan untuk mengakses Azure Container Registry alih-alih nama pengguna dan kata sandi.

password

string (password)

Kata sandi untuk masuk ke server registri.

registryServer

string (uri)

URL registri. Jika dihilangkan, defaultnya adalah "docker.io".

username

string

Nama pengguna untuk masuk ke server registri.

ContainerWorkingDirectory

Enum ContainerWorkingDirectory

Nilai Deskripsi
taskWorkingDirectory

Gunakan direktori kerja Tugas layanan Batch standar, yang akan berisi File Sumber Daya Tugas yang diisi oleh Batch.

containerImageDefault

Gunakan direktori kerja yang ditentukan dalam Gambar kontainer. Berhati-hatilah karena direktori ini tidak akan berisi File Sumber Daya yang diunduh oleh Batch.

DependencyAction

Enum DependencyAction

Nilai Deskripsi
satisfy

Memenuhi tugas yang menunggu tugas ini; Setelah semua dependensi terpenuhi, tugas akan dijadwalkan untuk dijalankan.

block

Memblokir tugas yang menunggu tugas ini, mencegahnya dijadwalkan.

ElevationLevel

Enum ElevationLevel

Nilai Deskripsi
nonadmin

Pengguna adalah pengguna standar tanpa akses yang ditingkatkan.

admin

Pengguna adalah pengguna dengan akses yang ditinggikan dan beroperasi dengan izin Administrator penuh.

EnvironmentSetting

Variabel lingkungan yang akan diatur pada proses Tugas.

Nama Jenis Deskripsi
name

string

Nama variabel lingkungan.

value

string

Nilai variabel lingkungan.

ExitCodeMapping

Bagaimana layanan Batch harus merespons jika Tugas keluar dengan kode keluar tertentu.

Nama Jenis Deskripsi
code

integer (int32)

Kode keluar proses.

exitOptions

ExitOptions

Bagaimana layanan Batch harus merespons jika Tugas keluar dengan kode keluar ini.

ExitCodeRangeMapping

Berbagai kode keluar dan bagaimana layanan Batch harus merespons kode keluar dalam rentang tersebut.

Nama Jenis Deskripsi
end

integer (int32)

Kode keluar terakhir dalam rentang.

exitOptions

ExitOptions

Bagaimana layanan Batch harus merespons jika Tugas keluar dengan kode keluar dalam rentang dari awal hingga akhir (inklusif).

start

integer (int32)

Kode keluar pertama dalam rentang.

ExitConditions

Menentukan bagaimana layanan Batch harus merespons ketika Tugas selesai.

Nama Jenis Deskripsi
default

ExitOptions

Bagaimana layanan Batch harus merespons jika Tugas gagal dengan kondisi keluar yang tidak tercakup oleh properti lainnya. Nilai ini digunakan jika Task keluar dengan kode keluar bukan nol yang tidak tercantum dalam koleksi exitCodes atau exitCodeRanges, dengan kesalahan pra-pemrosesan jika properti preProcessingError tidak ada, atau dengan kesalahan pengunggahan file jika properti fileUploadError tidak ada. Jika Anda menginginkan perilaku non-default pada kode keluar 0, Anda harus mencantumkannya secara eksplisit menggunakan koleksi exitCodes atau exitCodeRanges.

exitCodeRanges

ExitCodeRangeMapping[]

Daftar rentang kode keluar Tugas dan bagaimana layanan Batch harus meresponsnya.

exitCodes

ExitCodeMapping[]

Daftar kode keluar Tugas individual dan bagaimana layanan Batch harus meresponsnya.

fileUploadError

ExitOptions

Bagaimana layanan Batch harus merespons jika terjadi kesalahan pengunggahan file. Jika Tugas keluar dengan kode keluar yang ditentukan melalui exitCodes atau exitCodeRanges, dan kemudian mengalami kesalahan unggahan file, maka tindakan yang ditentukan oleh kode keluar akan diutamakan.

preProcessingError

ExitOptions

Bagaimana layanan Batch harus merespons jika Tugas gagal dimulai karena kesalahan.

ExitOptions

Menentukan bagaimana layanan Batch merespons kondisi keluar tertentu.

Nama Jenis Deskripsi
dependencyAction

DependencyAction

Tindakan yang dilakukan layanan Batch pada Tugas yang bergantung pada Tugas ini. Nilai yang mungkin adalah 'satisfy' (memungkinkan tugas dependen untuk berkembang) dan 'block' (tugas dependen terus menunggu). Batch belum mendukung pembatalan tugas dependen.

jobAction

BatchJobActionKind

Tindakan yang harus diambil pada Pekerjaan yang berisi Tugas, jika Tugas selesai dengan kondisi keluar yang diberikan dan properti onTaskFailed Pekerjaan adalah 'performExitOptionsJobAction'. Defaultnya adalah none untuk kode keluar 0 dan terminasi untuk semua kondisi keluar lainnya. Jika properti onTaskFailed Job adalah noaction, maka menentukan properti ini mengembalikan kesalahan dan permintaan add Task gagal dengan kesalahan nilai properti yang tidak valid; jika Anda memanggil REST API secara langsung, kode status HTTP adalah 400 (Permintaan Buruk).

MultiInstanceSettings

Tugas multi-instans umumnya digunakan untuk mendukung Tugas MPI. Dalam kasus MPI, jika salah satu subtugas gagal (misalnya karena keluar dengan kode keluar bukan nol) seluruh Tugas multi-instans gagal. Tugas multi-instans kemudian dihentikan dan dicoba kembali, hingga batas coba lagi.

Nama Jenis Deskripsi
commonResourceFiles

ResourceFile[]

Daftar file yang akan diunduh oleh layanan Batch sebelum menjalankan baris perintah koordinasi. Perbedaan antara file sumber daya umum dan file sumber daya tugas adalah bahwa file sumber daya umum diunduh untuk semua subtugas termasuk yang utama, sedangkan file sumber daya Tugas hanya diunduh untuk yang utama. Perhatikan juga bahwa file sumber daya ini tidak diunduh ke direktori kerja Tugas, melainkan diunduh ke direktori akar Tugas (satu direktori di atas direktori kerja). Ada ukuran maksimum untuk daftar file sumber daya. Ketika ukuran maksimum terlampaui, permintaan akan gagal dan kode kesalahan respons akan menjadi RequestEntityTooLarge. Jika ini terjadi, kumpulan ResourceFiles harus dikurangi ukurannya. Ini dapat dicapai menggunakan file .zip, Paket Aplikasi, atau Kontainer Docker.

coordinationCommandLine

string

Baris perintah yang akan dijalankan pada semua Node Komputasi untuk memungkinkannya berkoordinasi saat primer menjalankan perintah Tugas utama. Baris perintah koordinasi khas meluncurkan layanan latar belakang dan memverifikasi bahwa layanan siap untuk memproses pesan antar-simpul.

numberOfInstances

integer (int32)

Jumlah Node Komputasi yang diperlukan oleh Tugas. Jika dihilangkan, defaultnya adalah 1.

OutputFile

Pada setiap unggahan file, layanan Batch menulis dua file log ke simpul komputasi, 'fileuploadout.txt' dan 'fileuploaderr.txt'. File log ini digunakan untuk mempelajari lebih lanjut tentang kegagalan tertentu.

Nama Jenis Deskripsi
destination

OutputFileDestination

Tujuan untuk file output.

filePattern

string

Pola yang menunjukkan file mana yang akan diunggah. Jalur relatif dan absolut didukung. Jalur relatif relatif terhadap direktori kerja Tugas. Karakter pengganti berikut didukung: * cocok dengan 0 atau lebih karakter (misalnya pola abc* akan cocok dengan abc atau abcdef), ** cocok dengan direktori apa pun, ? cocok dengan karakter tunggal apa pun, [abc] cocok dengan satu karakter dalam tanda kurung, dan [a-c] cocok dengan satu karakter dalam rentang. Tanda kurung dapat menyertakan negasi agar cocok dengan karakter apa pun yang tidak ditentukan (misalnya [!abc] cocok dengan karakter apa pun kecuali a, b, atau c). Jika nama file dimulai dengan "." itu diabaikan secara default tetapi dapat dicocokkan dengan menentukannya secara eksplisit (misalnya .gif tidak akan cocok dengan .a.gif, tetapi ..gif akan). Contoh sederhana: ***.txt cocok dengan file apa pun yang tidak dimulai dengan '.' dan diakhiri dengan .txt di direktori kerja Tugas atau subdirektori apa pun. Jika nama file berisi karakter pengganti, itu dapat diloloskan menggunakan tanda kurung (misalnya abc[] akan cocok dengan file bernama abc). Perhatikan bahwa \ dan / diperlakukan sebagai pemisah direktori di Windows, tetapi hanya / di Linux. Variabel lingkungan (%var% di Windows atau $var di Linux) diperluas sebelum pola diterapkan.

uploadOptions

OutputFileUploadConfig

Opsi tambahan untuk operasi upload, termasuk dalam kondisi apa yang harus dilakukan upload.

OutputFileBlobContainerDestination

Menentukan tujuan unggahan file dalam kontainer penyimpanan blob Azure.

Nama Jenis Deskripsi
containerUrl

string (uri)

URL kontainer dalam Azure Blob Storage tempat mengunggah file. Jika tidak menggunakan identitas terkelola, URL harus menyertakan Tanda Tangan Akses Bersama (SAS) yang memberikan izin tulis ke kontainer.

identityReference

BatchNodeIdentityReference

Referensi ke identitas yang ditetapkan pengguna untuk digunakan untuk mengakses Azure Blob Storage yang ditentukan oleh containerUrl. Identitas harus memiliki akses tulis ke kontainer Azure Blob Storage.

path

string

Blob tujuan atau direktori virtual dalam kontainer Azure Storage. Jika filePattern mengacu pada file tertentu (yaitu tidak berisi karakter pengganti), maka path adalah nama blob tempat untuk mengunggah file tersebut. Jika filePattern berisi satu atau beberapa karakter pengganti (dan oleh karena itu mungkin cocok dengan beberapa file), maka path adalah nama direktori virtual blob (yang didahului ke setiap nama blob) tempat untuk mengunggah file. Jika dihilangkan, file diunggah ke akar kontainer dengan nama blob yang cocok dengan nama filenya.

uploadHeaders

OutputFileUploadHeader[]

Daftar pasangan nama-nilai untuk header yang akan digunakan dalam mengunggah file output. Header ini akan ditentukan saat mengunggah file ke Azure Storage. Dokumen resmi tentang header yang diizinkan saat mengunggah blob: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types.

OutputFileDestination

Tujuan tempat file harus diunggah.

Nama Jenis Deskripsi
container

OutputFileBlobContainerDestination

Lokasi di penyimpanan blob Azure tempat file diunggah.

OutputFileUploadCondition

Enum OutputFileUploadCondition

Nilai Deskripsi
tasksuccess

Unggah file hanya setelah proses Tugas keluar dengan kode keluar 0.

taskfailure

Unggah file hanya setelah proses Tugas keluar dengan kode keluar bukan nol.

taskcompletion

Unggah file setelah proses Tugas keluar, apa pun kode keluarnya.

OutputFileUploadConfig

Opsi untuk operasi pengunggahan file output, termasuk dalam kondisi apa untuk melakukan unggahan.

Nama Jenis Deskripsi
uploadCondition

OutputFileUploadCondition

Kondisi di mana file output Tugas atau kumpulan file harus diunggah. Defaultnya adalah taskcompletion.

OutputFileUploadHeader

Pasangan nama-nilai header HTTP

Nama Jenis Deskripsi
name

string

Nama header yang tidak peka huruf besar/kecil yang akan digunakan saat mengunggah file output.

value

string

Nilai header yang akan digunakan saat mengunggah file output.

ResourceFile

Satu file atau beberapa file yang akan diunduh ke Simpul Komputasi.

Nama Jenis Deskripsi
autoStorageContainerName

string

Nama kontainer penyimpanan di Akun penyimpanan otomatis. Properti autoStorageContainerName, storageContainerUrl, dan httpUrl saling eksklusif dan salah satunya harus ditentukan.

blobPrefix

string

Awalan blob yang akan digunakan saat mengunduh blob dari kontainer Azure Storage. Hanya blob yang namanya dimulai dengan awalan yang ditentukan yang akan diunduh. Properti hanya valid ketika autoStorageContainerName atau storageContainerUrl digunakan. Awalan ini bisa berupa nama file parsial atau subdirektori. Jika awalan tidak ditentukan, semua file dalam kontainer akan diunduh.

fileMode

string

Atribut mode izin file dalam format oktal. Properti ini hanya berlaku untuk file yang diunduh ke Linux Compute Node. Ini akan diabaikan jika ditentukan untuk resourceFile yang akan diunduh ke Node Komputasi Windows. Jika properti ini tidak ditentukan untuk Node Komputasi Linux, maka nilai default 0770 diterapkan ke file.

filePath

string

Lokasi pada Node Komputasi tempat mengunduh file, relatif terhadap direktori kerja Tugas. Jika properti httpUrl ditentukan, filePath diperlukan dan menjelaskan jalur tempat file akan diunduh, termasuk nama file. Jika tidak, jika properti autoStorageContainerName atau storageContainerUrl ditentukan, filePath bersifat opsional dan merupakan direktori untuk mengunduh file. Dalam kasus di mana filePath digunakan sebagai direktori, struktur direktori apa pun yang sudah terkait dengan data input akan disimpan secara penuh dan ditambahkan ke direktori filePath yang ditentukan. Jalur relatif yang ditentukan tidak dapat keluar dari direktori kerja Tugas (misalnya dengan menggunakan '..').

httpUrl

string (uri)

URL file yang akan diunduh. Properti autoStorageContainerName, storageContainerUrl, dan httpUrl saling eksklusif dan salah satunya harus ditentukan. Jika URL menunjuk ke Azure Blob Storage, URL harus dapat dibaca dari simpul komputasi. Ada tiga cara untuk mendapatkan URL tersebut untuk blob di penyimpanan Azure: menyertakan Tanda Tangan Akses Bersama (SAS) yang memberikan izin baca pada blob, menggunakan identitas terkelola dengan izin baca, atau atur ACL untuk blob atau kontainernya untuk memungkinkan akses publik.

identityReference

BatchNodeIdentityReference

Referensi ke identitas yang ditetapkan pengguna untuk digunakan untuk mengakses Azure Blob Storage yang ditentukan oleh storageContainerUrl atau httpUrl.

storageContainerUrl

string (uri)

URL kontainer blob dalam Azure Blob Storage. Properti autoStorageContainerName, storageContainerUrl, dan httpUrl saling eksklusif dan salah satunya harus ditentukan. URL ini harus dapat dibaca dan dapat dicantumkan dari simpul komputasi. Ada tiga cara untuk mendapatkan URL tersebut untuk kontainer di penyimpanan Azure: menyertakan Tanda Tangan Akses Bersama (SAS) yang memberikan izin baca dan daftar pada kontainer, menggunakan identitas terkelola dengan izin baca dan daftar, atau atur ACL untuk kontainer untuk mengizinkan akses publik.

UserIdentity

Definisi identitas pengguna tempat Tugas dijalankan. Tentukan properti userName atau autoUser, tetapi tidak keduanya.

Nama Jenis Deskripsi
autoUser

AutoUserSpecification

Pengguna otomatis tempat Tugas dijalankan. Properti userName dan autoUser saling eksklusif; Anda harus menentukan satu tetapi tidak keduanya.

username

string

Nama identitas pengguna tempat Tugas dijalankan. Properti userName dan autoUser saling eksklusif; Anda harus menentukan satu tetapi tidak keduanya.