All Products
Search
Document Center

Batch Compute (Deprecated):CreateJob(DAG)

Last Updated:Jun 28, 2025

Membuat dan mengirimkan pekerjaan DAG.

Sintaks permintaan

POST /jobs

{
  "Name": "testJob",
  "Description": "Demo pekerjaan BatchCompute",
  "JobFailOnInstanceFail": true,
  "Priority": 1,
  "Type": "DAG",
  "AutoRelease": false,
  "Notification": {
        "Topic": {
            "Name": "test-topic",
            "Endpoint": "http://[UserId].mns.[Region].aliyuncs.com/",
            "Events": [
                    "OnJobWaiting",
                    "OnJobRunning",
                    "OnJobStopped",
                    "OnJobFinished",
                    "OnJobFailed",
                    "OnTaskWaiting",
                    "OnTaskRunning",
                    "OnTaskStopped",
                    "OnTaskFinished",
                    "OnTaskFailed",
                    "OnInstanceWaiting",
                    "OnInstanceRunning",
                    "OnInstanceStopped",
                    "OnInstanceFinished",
                    "OnInstanceFailed",
                    "OnPriorityChange"
                ]
        }
   },
  "DAG": {
    "Dependencies": {},
    "Tasks": {
      "taskA": {
        "AutoCluster": {
          "Configs": {
            "Disks": {
              "DataDisk": {
                "MountPoint": "/home/mydisk/",
                "Size": 0,
                "Type": "ephemeral"
              },
              "SystemDisk": {
                "Size": 40,
                "Type": "ephemeral"
              }
            },
            "Mounts": {
               "Entries": [
                   {
                       "Destination": "/home/admin/mount-dest",
                       "Source": "oss://your-bucket/mount-source",
                       "WriteSupport": true
                    }
                ],
                "Locale": "GBK",
                "Lock": false,
                "CacheSupport": true,
                "NAS": {
                    "AccessGroup": [
                        "group1",
                        "group2"
                    ],
                    "FileSystem": [
                        "filesystem1",
                        "filesystem2"
                    ]
                },
                "OSS": {
                    "AccessKeyId": "",
                    "AccessKeySecret": "",
                    "AccessSecurityToken": ""
                }
             },
             "Networks": {
                 "Classic": {
                     "AllowIpAddress": [],
                     "AllowIpAddressEgress": [],
                     "AllowSecurityGroup": [],
                     "AllowSecurityGroupEgress": []
                 },
                 "VPC": {
                     "CidrBlock": "192.168.0.0/16"
                 }
             }
          },
          "ECSImageId": "",
          "ImageId": "img-ubuntu",
          "InstanceType": "bcs.a2.large",
          "ResourceType": "OnDemand",
          "SpotStrategy": "SpotAsPriceGo",
          "SpotPriceLimit": 0,0,
          "UserData": {},
          "ReserveOnFail": false
        },
        "ClusterId": "cls-6kir9pdp3lg6220g418002",
        "InputMapping": {
          "oss://bucket/tmp/": "/home/mount1/"
        },
        "InstanceCount": 1,
        "LogMapping": {},
        "MaxRetryCount": 0,
        "OutputMapping": {
          "/home/mount1": "oss://bucket/tmp/"
        },
        "Mounts": {
            "Entries": [
                {
                    "Destination": "/home/admin/mount-dest",
                    "Source": "oss://your-bucket/mount-source",
                    "WriteSupport": true
                }
            ],
            "Locale": "GBK",
            "Lock": false,
            "NAS": {
            "AccessGroup": [
                "group1",
                "group2"
            ],
            "FileSystem": [
                "filesystem1",
                "filesystem2"
            ]
            },
            "OSS": {
                "AccessKeyId": "",
                "AccessKeySecret": "",
                "AccessSecurityToken": ""
            }
        },
        "Parameters": {
          "Command": {
            "CommandLine": "python worker.py",
            "EnvVars": {},
            "PackagePath": "oss://bucket/tests/worker.tar.gz"
          },
          "InputMappingConfig": {
            "Locale": "GBK",
            "Lock": false
          },
          "StderrRedirectPath": "oss://bucket/tests/logs/",
          "StdoutRedirectPath": "oss://bucket/tests/logs/"
        },
        "Timeout": 172800,
        "WriteSupport": true
      }
    }
  }
}

Deskripsi atribut

Atribut

Tipe

Diperlukan atau Tidak

Deskripsi

Nama

string

Ya

Nama dari sebuah pekerjaan.

Deskripsi

string

Tidak

Deskripsi dari sebuah pekerjaan.

Prioritas

int

Ya

Prioritas dari sebuah pekerjaan. Nilainya berkisar antara 0 hingga 1000. Prioritas meningkat seiring dengan nilai.

Tipe

string

Ya

Saat ini, tugas hanya dapat dijelaskan dalam bentuk grafik asiklik terarah (DAG).

JobFailOnInstanceFail

bool

Ya

Nilai True menunjukkan bahwa pekerjaan gagal ketika instance gagal.

AutoRelease

bool

Tidak

Nilai True menunjukkan bahwa sistem secara otomatis menghapus pekerjaan setelah pekerjaan berhasil dijalankan. Nilai default: False

Notifikasi

object

Tidak

Konfigurasi pesan notifikasi.

DAG

object

Ya

Deskripsi dari DAG.

Tugas

object

Ya

Deskripsi dari sebuah tugas.

Parameter

object

Ya

Rincian tentang parameter tugas.

Perintah

object

Ya

Parameter baris perintah yang terkait dengan program pengguna.

CommandLine

String

Ya

Menentukan perintah untuk menjalankan program pengguna. CommandLine berbeda dari Shell. Ini hanya mendukung bentuk “interpreter + script”, misalnya, “python test.py” atau “sh test.sh.”

PackagePath

string

Ya

Jalur OSS tempat program pengguna berada.

EnvVars

string

Tidak

Variabel lingkungan untuk eksekusi program pengguna.

InputMappingConfig

object

Tidak

Konfigurasi layanan pemasangan NFS.

Locale

string

Tidak

Set karakter yang digunakan saat objek OSS dipasang ke server lokal. Nilai opsional termasuk GBK, GB2312-80, BIG5, ANSI, EUC-JP, EUC-TW, EUC-KR, SHIFT-JIS, dan KSC5601.

Kunci

bool

Tidak

Menentukan apakah layanan pemasangan NFS mendukung penguncian file jaringan.

StdoutRedirectPath

string

Ya

Direktori OSS tempat keluaran standar dialihkan.

StderrRedirectPath

string

Ya

Direktori OSS tempat kesalahan standar dialihkan.

InputMapping

object

Tidak

Pemetaan dari direktori OSS ke direktori lokal.

OutputMapping

object

Tidak

Pemetaan dari direktori lokal ke direktori OSS.

LogMapping

object

Tidak

Pemetaan dari jalur log lokal ke OSS. Direktori adalah “OSS” yang diakhiri dengan garis miring. Log OSS diberi nama dalam format {Nama log lokal}.{ID Pekerjaan}.{ID Tugas}.{ID Instance}, misalnya, output_log.job-0000000056A6E991000001780000000D.Echo.0.

Timeout

int

Ya

Waktu eksekusi maksimum untuk sebuah instance.

InstanceCount

int

Ya

Jumlah instance.

MaxRetryCount

int

Tidak

Jumlah percobaan ulang maksimum. Nilai default: 0

ClusterId

string

Tidak

ID dari sebuah kluster. Salah satu dari parameter ini dan AutoCluster (kluster anonim) harus dipilih.

AutoCluster

object

Tidak

Kluster anonim. Salah satu dari AutoCluster dan ClusterId harus valid dan hanya salah satunya yang berlaku.

Dependencies

object

Tidak

Struktur objek dari dependensi antar tugas. Parameter kunci menunjukkan nama tugas sumber. Parameter nilai menunjukkan daftar nama tugas target dan dapat menggambarkan hubungan urutan satu-ke-banyak.

AutoCluster

Atribut

Tipe

Diperlukan atau Tidak

Deskripsi

ImageId

string

Tidak

ID dari citra BatchCompute.

ECSImageId

string

Tidak

ID dari citra ECS. Nilainya harus merupakan ID yang valid dari citra ECS. Hanya salah satu dari ECSImageId dan ImageId yang dapat disetel ke nilai yang valid, dan yang lainnya harus dibiarkan kosong.

InstanceType

string

Ya

Tipe instance untuk menyiapkan kluster.

ResourceType

String

Tidak

Tipe sumber daya. “OnDemand” dan “Spot” didukung.

SpotStrategy

String

Tidak

Strategi penawaran untuk instance. Berlaku hanya jika ResourceType adalah Spot.Nilai:SpotWithPriceLimit: Tetapkan harga maksimum untuk instance spot.SpotAsPriceGo: Sistem memberikan harga secara otomatis. Nilai maksimumnya adalah harga Pay-As-You-Go.

SpotPriceLimit

Float

Tidak

Harga maksimum instance per jam (harga setiap jenis instance, bukan harga per jam).Nilai tersebut dapat mencakup hingga tiga desimal. Berlaku saat SpotStrategy adalah SpotWithPriceLimit.

UserData

object

Tidak

Pemetaan Key-Value. Ini ditentukan oleh pengguna dan dapat diperoleh menggunakan metaserver dari ECS.

Configs

object

Tidak

Konfigurasi kluster.

ReserveOnFail

Bool

Tidak

Saat tugas gagal, VM terkait tidak dilepaskan, dan biaya untuk sumber daya ini masih dikenakan sampai pengguna menghapus pekerjaan. Nilai default adalah False. Digunakan hanya dalam survei.

Respon

Sukses

Kode status 201 dan ID pekerjaan berikut dikembalikan:

{
    "Id":"job-xxx"
}

Deskripsi atribut

Atribut

Tipe

Deskripsi

Id

string

ID dari sebuah pekerjaan.

Kode kesalahan

IdempotentTokenMismatch

Token idempoten yang ditentukan tidak cocok.

400

Token telah digunakan dan berbeda dari permintaan sebelumnya.

Invalid{Parameter}

Parameter {Parameter} yang ditentukan tidak valid.

400

Parameter {Parameter} tidak valid.

InvalidClusterId

Parameter ClusterId yang ditentukan tidak valid. Jenisnya harus string.

400

ClusterId harus berupa string.

InvalidClusterId

Parameter ClusterId yang ditentukan tidak valid. Panjangnya harus dalam [1, 64].

400

Panjang ClusterId harus dalam rentang [1, 64].

InvalidClusterId

Parameter ClusterId yang ditentukan tidak valid. Hanya boleh berisi karakter dalam [a-zA-Z0-9-], dan tidak boleh dimulai dengan [0-9].

400

ClusterId hanya boleh berisi huruf, angka, garis bawah (_), dan tanda hubung (-), serta tidak boleh dimulai dengan angka.

InvalidCommand

Parameter Command yang ditentukan tidak valid. Jenisnya harus object.

400

Command harus berupa objek.

InvalidCommandLine

Parameter CommandLine yang ditentukan tidak valid. Jenisnya harus string.

400

CommandLine harus berupa string.

InvalidCommandLine

Parameter CommandLine yang ditentukan tidak valid. Panjangnya harus dalam [0, 1024].

400

Panjang CommandLine harus dalam rentang [0, 1024].

InvalidDAG

Parameter DAG yang ditentukan tidak valid. Jenisnya harus object.

400

DAG harus berupa objek.

InvalidDependencies

Parameter Dependencies yang ditentukan tidak valid. Jenisnya harus object.

400

Dependencies harus berupa objek.

InvalidDependencies.{key}.value

Parameter Dependencies.{key}.value tidak valid. Jenisnya harus array.

400

Nilai dari Dependencies.{key} harus berupa array.

InvalidDescription

Parameter Description yang ditentukan tidak valid. Jenisnya harus string.

400

Description harus berupa string.

InvalidDescription

Parameter Description yang ditentukan tidak valid. Panjangnya harus dalam [0, 1024].

400

Panjang Description harus dalam rentang [0, 1024].

InvalidEnvVars

Parameter EnvVars yang ditentukan tidak valid. Jenisnya harus object.

400

EnvVars harus berupa objek.

InvalidEnvVars

Parameter EnvVars yang ditentukan tidak valid. Ukurannya harus dalam [0, 64].

400

Nilai EnvVars harus dalam rentang [0, 64].

InvalidEnvVars.{key}

Parameter EnvVars.{key} tidak valid. Panjangnya harus dalam [1, 128].

400

Ukuran EnvVars.{key} harus dalam rentang [1, 128].

InvalidEnvVars.{key}.value

Parameter EnvVars.{key}.value tidak valid. Jenisnya harus string.

400

Nilai EnvVars.{key} harus berupa string.

InvalidEnvVars.{key}.value

Parameter EnvVars.{key}.value tidak valid. Panjangnya harus dalam [0, 1024].

400

Panjang EnvVars.{key} harus dalam rentang [0, 1024].

InvalidHttpBody

Parameter HttpBody yang ditentukan tidak valid. Jenisnya harus object.

400

Http Body harus berupa objek.

InvalidInputMapping

Parameter InputMapping yang ditentukan tidak valid. Jenisnya harus object.

400

InputMapping harus berupa objek.

InvalidInputMapping

Parameter InputMapping yang ditentukan tidak valid. Ukurannya harus dalam [0, 16].

400

Jumlah kunci dalam InputMapping harus dalam rentang [0, 16].

InvalidInputMapping.{key}

Parameter InputMapping.{key} tidak valid. Panjangnya harus dalam [1, 1024].

400

Panjang InputMapping.{key} harus dalam rentang [1, 1024].

InvalidInputMapping.{key}

Parameter InputMapping.{key} tidak valid. Jalur OSS harus dimulai dengan ‘oss://‘, harus diakhiri dengan ‘/‘ jika itu adalah folder, dan tidak boleh diakhiri dengan ‘/‘ jika itu adalah file.

400

InputMapping.{key} harus berupa jalur OSS yang valid.

InvalidInputMapping.{key}.value

Parameter InputMapping.{key}.value tidak valid. Jenisnya harus string.

400

Nilai InputMapping.{key} harus berupa string.

InvalidInputMapping.{key}.value

Parameter InputMapping.{key}.value tidak valid. Panjangnya harus dalam [0, 1024].

400

Panjang InputMapping.{key} harus dalam rentang [0, 1024].

InvalidInputMapping.{key}.value

Parameter InputMapping.{key}.value tidak valid. Jalur lokal harus berupa jalur absolut pada Linux, dan huruf drive pada Windows.

400

InputMapping.{key} harus berupa jalur lokal yang valid.

InvalidInputMappingConfig

Parameter InputMappingConfig yang ditentukan tidak valid. Jenisnya harus object.

400

InputMappingConfig harus berupa objek.

InvalidInstanceCount

Parameter InstanceCount yang ditentukan tidak valid. Jenisnya harus integer.

400

InstanceCount harus berupa integer.

InvalidJobFailOnInstanceFail

Parameter JobFailOnInstanceFail yang ditentukan tidak valid. Jenisnya harus boolean.

400

JobFailOnInstanceFail harus berupa nilai boolean.

InvalidJsonFormat

Badan permintaan memiliki format json yang tidak valid.

400

Badan permintaan memiliki format JSON yang tidak valid.

InvalidLocale

Parameter Locale yang ditentukan tidak valid.

400

Nilai Locale tidak valid.

InvalidLock

Parameter Lock yang ditentukan tidak valid. Jenisnya harus boolean.

400

Lock harus berupa nilai boolean.

InvalidLogMapping

Parameter LogMapping yang ditentukan tidak valid. Jenisnya harus object.

400

LogMapping harus berupa objek.

InvalidLogMapping

Parameter LogMapping yang ditentukan tidak valid. Ukurannya harus dalam [0, 16].

400

Jumlah kunci dalam LogMapping harus dalam rentang [0, 16].

InvalidLogMapping.{key}

Parameter LogMapping.{key} tidak valid. Panjangnya harus dalam [1, 1024].

400

Panjang LogMapping.{key} harus dalam rentang [1, 1024].

InvalidLogMapping.{key}

Parameter LogMapping.{key} tidak valid. Jalur lokal harus berupa jalur absolut.

400

LogMapping.{key} harus berupa jalur lokal yang valid.

InvalidLogMapping.{key}.value

Parameter LogMapping.{key}.value tidak valid. Jenisnya harus string.

400

Nilai LogMapping.{key} harus berupa string.

InvalidLogMapping.{key}.value

Parameter LogMapping.{key}.value tidak valid. Panjangnya harus dalam [0, 1024].

400

Panjang LogMapping.{key} harus dalam rentang [0, 1024].

InvalidLogMapping.{key}.value

Parameter LogMapping.{key}.value tidak valid. Jalur OSS harus dimulai dengan ‘oss://‘, harus diakhiri dengan ‘/‘ jika itu adalah folder, dan tidak boleh diakhiri dengan ‘/‘ jika itu adalah file.

400

Panjang LogMapping.{key} harus dalam rentang [1, 1024].

InvalidMaxRetryCount

Parameter MaxRetryCount yang ditentukan tidak valid. Jenisnya harus integer.

400

MaxRetryCount harus berupa integer.

InvalidName

Parameter Name yang ditentukan tidak valid. Jenisnya harus string.

400

Name harus berupa string.

InvalidName

Parameter Name yang ditentukan tidak valid. Panjangnya harus dalam [1, 64].

400

Panjang Name harus dalam rentang [1, 64].

InvalidName

Parameter Name yang ditentukan tidak valid. Hanya boleh berisi karakter dalam [a-zA-Z0-9-], dan tidak boleh dimulai dengan [0-9].

400

Name hanya boleh berisi huruf, angka, garis bawah, dan tanda hubung, serta tidak boleh dimulai dengan angka.

InvalidOutputMapping

Parameter OutputMapping yang ditentukan tidak valid. Jenisnya harus object.

400

OutputMapping harus berupa objek.

InvalidOutputMapping

Parameter OutputMapping yang ditentukan tidak valid. Ukurannya harus dalam [0, 16].

400

Jumlah kunci dalam OutputMapping harus dalam rentang [0, 16].

InvalidOutputMapping.{key}

Parameter OutputMapping.{key} tidak valid. Panjangnya harus dalam [1, 1024].

400

Panjang OutputMapping.{key} harus dalam rentang [1, 1024].

InvalidOutputMapping.{key}

Parameter OutputMapping.{key} tidak valid. Jalur lokal harus berupa jalur absolut.

400

OutputMapping.{key} harus berupa jalur lokal yang valid.

InvalidOutputMapping.{key}.value

Parameter OutputMapping.{key}.value tidak valid. Jenisnya harus string.

400

Nilai OutputMapping.{key} harus berupa string.

InvalidOutputMapping.{key}.value

Parameter OutputMapping.{key}.value tidak valid. Panjangnya harus dalam [0, 1024].

400

Panjang OutputMapping.{key} harus dalam rentang [0, 1024].

InvalidOutputMapping.{key}.value

Parameter OutputMapping.{key}.value tidak valid. Jalur OSS harus dimulai dengan ‘oss://‘, harus diakhiri dengan ‘/‘ jika itu adalah folder, dan tidak boleh diakhiri dengan ‘/‘ jika itu adalah file.

400

Panjang OutputMapping.{key} harus dalam rentang [1, 1024].

InvalidPackagePath

Parameter PackagePath yang ditentukan tidak valid. Jenisnya harus string.

400

PackagePath harus berupa string.

InvalidPackagePath

Parameter PackagePath yang ditentukan tidak valid. Panjangnya harus dalam [0, 1024].

400

Panjang PackagePath harus dalam rentang [0, 1024].

InvalidPackagePath

Parameter PackagePath yang ditentukan tidak valid. Jalur OSS harus dimulai dengan ‘oss://‘, harus diakhiri dengan ‘/‘ jika itu adalah folder, dan tidak boleh diakhiri dengan ‘/‘ jika itu adalah file.

400

PackagePath harus berupa jalur OSS yang valid.

InvalidParameters

Parameter Parameters yang ditentukan tidak valid. Jenisnya harus object.

400

Parameters harus berupa objek.

InvalidPriority

Parameter Priority yang ditentukan tidak valid. Jenisnya harus integer.

400

Priority harus berupa integer.

InvalidPriority

Parameter Priority yang ditentukan tidak valid. Harus dalam [0, 1000].

400

Nilai Priority harus dalam rentang [0, 1000].

InvalidStderrRedirectPath

Parameter StderrRedirectPath yang ditentukan tidak valid. Jenisnya harus string.

400

StderrRedirectPath harus berupa string.

InvalidStderrRedirectPath

Parameter StderrRedirectPath yang ditentukan tidak valid. Panjangnya harus dalam [0, 1024].

400

Panjang StderrRedirectPath harus dalam rentang [0, 1024].

InvalidStderrRedirectPath

Parameter StderrRedirectPath yang ditentukan tidak valid. Jalur OSS harus dimulai dengan ‘oss://‘, harus diakhiri dengan ‘/‘ jika itu adalah folder, dan tidak boleh diakhiri dengan ‘/‘ jika itu adalah file.

400

StderrRedirectPath harus berupa jalur OSS yang valid.

InvalidStdoutRedirectPath

Parameter StdoutRedirectPath yang ditentukan tidak valid. Jenisnya harus string.

400

StdoutRedirectPath harus berupa string.

InvalidStdoutRedirectPath

Parameter StdoutRedirectPath yang ditentukan tidak valid. Panjangnya harus dalam [0, 1024].

400

Panjang StdoutRedirectPath harus dalam rentang [0, 1024].

InvalidStdoutRedirectPath

Parameter StdoutRedirectPath yang ditentukan tidak valid. Jalur OSS harus dimulai dengan ‘oss://‘, harus diakhiri dengan ‘/‘ jika itu adalah folder, dan tidak boleh diakhiri dengan ‘/‘ jika itu adalah file.

400

StdoutRedirectPath harus berupa jalur OSS yang valid.

InvalidTasks

Parameter Tasks yang ditentukan tidak valid. Jenisnya harus object.

400

Tasks harus berupa objek.

InvalidTasks

Parameter Tasks yang ditentukan tidak valid. Ukurannya harus dalam [1, 16].

400

Ukuran UserData harus dalam rentang [1, 16].

InvalidTasks.{key}

Parameter Tasks.{key} tidak valid. Panjangnya harus dalam [1, 64].

400

Panjang Tasks.{key} harus dalam rentang [1, 64].

InvalidTasks.{key}

Parameter Tasks.{key} tidak valid. Hanya boleh berisi karakter dalam [a-zA-Z0-9-], dan tidak boleh dimulai dengan [0-9]..

400

Tasks.{key} dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-), serta tidak boleh dimulai dengan angka.

InvalidTimeout

Parameter Timeout yang ditentukan tidak valid. Jenisnya harus integer.

400

Timeout harus berupa integer.

InvalidType

Parameter Type yang ditentukan tidak valid.

400

Nilai Type tidak valid.

MissingClusterId

ClusterId wajib untuk tindakan ini.

400

Parameter ClusterId hilang.

MissingCommand

Command wajib untuk tindakan ini.

400

Parameter Command hilang.

MissingCommandLine

CommandLine wajib untuk tindakan ini.

400

Parameter CommandLine hilang.

MissingDAG

DAG wajib untuk tindakan ini.

400

Parameter DAG hilang.

MissingInstanceCount

InstanceCount wajib untuk tindakan ini.

400

Parameter InstanceCount hilang.

MissingName

Name wajib untuk tindakan ini.

400

Parameter Name hilang.

MissingParameters

Parameters wajib untuk tindakan ini.

400

Parameter Parameters hilang.

MissingTasks

Tasks wajib untuk tindakan ini.

400

Parameter Tasks hilang.

MissingType

Type wajib untuk tindakan ini.

400

Parameter Type hilang.

QuotaExhausted.MaxInstanceTimeout

Kuota MaxInstanceTimeout ({value}) telah habis.

403

Timeout instance tidak boleh melebihi {value}.

QuotaExhausted.MaxJobCount

Kuota MaxJobCount ({value}) telah habis.

403

Jumlah pekerjaan tidak boleh melebihi {value}.

QuotaExhausted.MaxJobTaskCount

Kuota MaxJobTaskCount ({value}) telah habis.

403

Jumlah tugas dalam sebuah pekerjaan tidak boleh melebihi {value}.

QuotaExhausted.MaxTaskInstanceCount

Kuota MaxTaskInstanceCount ({value}) telah habis.

403

InstanceCount dari sebuah tugas tidak boleh melebihi {value}.