All Products
Search
Document Center

Object Storage Service:CreateJob

Last Updated:Dec 07, 2025

Panggil operasi CreateJob untuk membuat batch job yang menjalankan operasi tertentu pada beberapa objek.

Catatan penggunaan

  • Status job `Complete` tidak menjamin bahwa semua task dalam job tersebut berhasil. Anda harus memeriksa laporan akhir untuk menentukan status eksekusi setiap task. Sebagai contoh, jika aturan lifecycle bergantung pada batch job untuk menambahkan tag guna penghapusan objek, laporan akhir merupakan sumber otoritatif atas hasilnya.

  • `PutObjectTagging` akan menimpa tag yang sudah ada.

  • `AddObjectTagging` bukanlah operasi atomik. Operasi ini terlebih dahulu mengambil tag yang ada lalu memperbaruinya. Penimpaan dapat terjadi jika terdapat operasi konkuren.

  • Jika beberapa job beroperasi secara konkuren pada kumpulan objek yang sama, urutan eksekusi mungkin berbeda dari urutan pengiriman. Hindari menjalankan operasi konkuren pada kumpulan objek yang sama.

  • Status `Complete` hanya menunjukkan bahwa job telah selesai, bukan berarti semua objek berhasil diproses. Demikian pula, untuk job dengan status `Cancelled`, `Paused`, `Suspended`, atau `Failed`, beberapa objek mungkin telah berhasil diproses.

  • Jika sebuah job tetap berada dalam status `Suspended` selama lebih dari 14 hari tanpa konfirmasi pengguna, statusnya akan berubah menjadi `Failed`.

  • Ketika sebuah job dibatalkan, job tersebut tidak langsung berhenti, melainkan terlebih dahulu memasuki status `Cancelling` selama periode tertentu.

Izin

Secara default, Akun Alibaba Cloud memiliki semua izin. Sebaliknya, Pengguna Resource Access Management (RAM) atau Peran RAM tidak memiliki izin apa pun secara default. Pemilik Akun Alibaba Cloud atau administrator harus memberikan izin menggunakan RAM Policy atau Bucket Policy.

API

Action

Deskripsi

CreateJob

oss:CreateJob

Membuat Pekerjaan operasi Batch.

Sintaks permintaan

POST /?batchJob HTTP/1.1
Host: oss-cn-hangzhou.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<CreateJobRequest>
  <ConfirmationRequired>boolean</ConfirmationRequired>
  <Operation>
    <PutObjectTagging>
      <TagSet>
        <Tag>
          <Key>string</Key>
          <Value>string</Value>
        </Tag>
      </TagSet>
    </PutObjectTagging>
    <DeleteObjectTagging>
    </DeleteObjectTagging>
    <PutObjectAcl>
      <ObjectAcl>string</ObjectAcl>
    </PutObjectAcl>
    <RestoreObject>
      <Days>integer</Days>
      <Tier>string</Tier>
    </RestoreObject>
  </Operation>
  <Report>
    <Bucket>string</Bucket>
    <Enabled>boolean</Enabled>
    <Prefix>string</Prefix>
    <ReportScope>string</ReportScope>
  </Report>
  <ClientRequestToken>string</ClientRequestToken>
  <Manifest>
    <Location>
      <ETag>string</ETag>
      <Bucket>string</Bucket>
      <Object>string</Object>
      <VersionId>string</VersionId>
    </Location>
    <Spec>
      <Fields>string</Fields>
      <Format>string</Format>
    </Spec>
  </Manifest>
  <Description>string</Description>
  <Priority>integer</Priority>
  <RoleArn>string</RoleArn>
</CreateJobRequest>

Header permintaan

Operasi ini hanya menggunakan common request headers. Untuk informasi selengkapnya, lihat Common Request Headers.

Elemen permintaan

Nama

Tipe

Diperlukan

Contoh

Deskripsi

CreateJobRequest

Container

Ya

Tidak ada

Node root dari batch operation job.

Node anak: ConfirmationRequired, Operation, Report, ClientRequestToken, Manifest, KeyPrefixManifestGenerator, Description, Priority, dan RoleArn

Node induk: Tidak ada

ConfirmationRequired

Boolean

Tidak

false

Konfirmasi sebelum job dijalankan.

Node anak: None

Node induk: CreateJobRequest

Description

String

Tidak

Deskripsi pekerjaan operasi batch

Deskripsi pekerjaan.

Node anak: None

Node induk: CreateJobRequest

Priority

Integer

Ya

10

Prioritas job.

Node anak: None

Node induk: CreateJobRequest

RoleArn

String

Ya

arn:acs:ram::uid:role/BatchOperationRole

Peran RAM yang diasumsikan oleh OSS untuk menjalankan pekerjaan operasi batch.

Node anak: None

Node induk: CreateJobRequest

Operation

Container

Ya

Tidak ada

Jenis operasi yang akan dijalankan dalam batch job. Hanya satu jenis operasi yang diperbolehkan. Operasi yang didukung meliputi PutObjectTagging, AddObjectTagging, DeleteObjectTagging, PutObjectAcl, dan RestoreObject.

Node anak: PutObjectTagging, AddObjectTagging, DeleteObjectTagging, PutObjectAcl, dan RestoreObject

Node induk: CreateJobRequest

PutObjectTagging

Container

Tidak

Tidak ada

Operasi untuk menetapkan tag objek.

Node anak: TagSet

Node induk: Operation

TagSet

Container

Ya (ketika PutObjectTagging digunakan)

Tidak ada

Koleksi kunci dan nilai tag.

Node anak: Tag

Node induk: PutObjectTagging

Tag

Container

Ya

Tidak ada

Sebuah item tag.

Node anak: Key dan Value

Node induk: TagSet

Key

String

Ya

Lingkungan

Kunci tag.

Node anak: None

Node induk: Tag

Value

String

Ya

Produksi

Nilai tag.

Node anak: None

Node induk: Tag

DeleteObjectTagging

Container

Tidak

Tidak ada

Operasi untuk menghapus tag objek. Ini adalah node kosong.

Node anak: None

Node induk: Operation

PutObjectAcl

Container

Tidak

Tidak ada

Operasi untuk mengatur ACL objek.

Node anak: ObjectAcl

Node induk: Operation

ObjectAcl

String

Ya (ketika PutObjectAcl digunakan)

private

ACL objek. Nilai yang valid: default, private, public-read, dan public-read-write.

Node anak: None

Node induk: PutObjectAcl

RestoreObject

Container

Tidak

Tidak ada

Operasi untuk memulihkan objek yang diarsipkan.

Node anak: Days dan Tier

Node induk: Operation

Days

Integer

Tidak

7

Jumlah hari untuk menyimpan objek Archive, Cold Archive, atau Deep Cold Archive yang telah dipulihkan agar tetap tersedia. Untuk objek Archive, rentang nilainya adalah 1 hingga 7. Untuk objek Cold Archive dan Deep Cold Archive, rentang nilainya adalah 1 hingga 365.

Node anak: None

Node induk: RestoreObject

Tier

String

Tidak

Standard

Prioritas pemulihan untuk objek Cold Archive atau Deep Cold Archive. Untuk objek Cold Archive, nilai yang valid adalah Standard (2 hingga 5 jam) dan Bulk (5 hingga 12 jam). Untuk objek Deep Cold Archive, nilai yang valid adalah Standard (dalam waktu 48 jam).

Node anak: None

Node induk: RestoreObject

Report

Container

Ya

Tidak ada

Node konfigurasi untuk laporan keluaran.

Node anak: Bucket, Enabled, Prefix, dan ReportScope

Node induk: CreateJobRequest

Bucket

String

Ya

report-bucket

Bucket tempat laporan keluaran disimpan. Bucket tujuan harus berada di wilayah yang sama dengan pekerjaan operasi batch.

Node anak: None

Node induk: Report

Enabled

Boolean

Ya

true

Menentukan apakah akan menghasilkan laporan.

Node anak: None

Node induk: Report

Prefix

String

Tidak

reports/

Awalan untuk laporan output. Ini memungkinkan Anda menyimpan laporan di subdirektori.

Node anak: None

Node induk: Report

ReportScope

String

Tidak

AllTasks

Cakupan laporan. Nilai yang valid: AllTasks dan FailedTasksOnly. Nilai default: AllTasks (melaporkan semua task).

Node anak: None

Node induk: Report

ClientRequestToken

String

Ya

unique-token-123

Identifier unik untuk memastikan idempotensi permintaan. Panjangnya harus antara 1 hingga 64 karakter.

Node anak: None

Node induk: CreateJobRequest

Manifest

Container

Diperlukan secara kondisional

Tidak ada

Node file manifest. Anda harus menentukan salah satu dari node ini atau KeyPrefixManifestGenerator.

Node anak: Location dan Spec

Node induk: CreateJobRequest

Location

Container

Ya (ketika Manifest digunakan)

Tidak ada

Lokasi file manifest. Bucket yang berisi file manifest harus berada di Wilayah yang sama dengan batch operation job.

Node anak: ETag, Bucket, Object, dan VersionId

Node induk: Manifest

ETag

String

Tidak

d41d8cd98f00b204e9800998ecf8427e

ETag dari file manifest.

Node anak: None

Node induk: Location

Object

String

Ya

manifest.csv

Objek yang sesuai dengan file manifest.

Node anak: None

Node induk: Location

VersionId

String

Tidak

3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo

ID versi objek yang sesuai dengan file manifest.

Node anak: None

Node induk: Location

Spec

Container

Ya (ketika Manifest digunakan)

Tidak ada

Menjelaskan format file manifest.

Node anak: Fields dan Format

Node induk: Manifest

Format

String

Ya

OSS_BatchOperations_CSV_20250611

Jenis file manifest. Nilai yang valid:

  • OSS_BatchOperations_CSV_20250611: Format CSV untuk OSS Batch Operations. Gunakan ini untuk file manifest yang dibuat untuk batch operation job.

  • OSS_InventoryReport_CSV_20250611: Format CSV untuk laporan inventaris OSS. Gunakan ini untuk laporan manifest yang dihasilkan oleh fitur inventaris.

Node anak: None

Node induk: Spec

Fields

String

Tidak

Bucket,Key,VersionId

Jika Anda mengunggah file CSV kustom, definisikan format CSV tersebut.

Node anak: None

Node induk: Spec

KeyPrefixManifestGenerator

Container

Diperlukan secara kondisional

Tidak ada

Menghasilkan file manifest berdasarkan awalan. Anda harus menentukan salah satu dari node ini atau Manifest.

Node anak: SourceBucket dan Prefix

Node induk: CreateJobRequest

SourceBucket

String

Ya (ketika KeyPrefixManifestGenerator digunakan)

source-bucket

Bucket sumber untuk file manifest.

Node anak: None

Node induk: KeyPrefixManifestGenerator

Prefix

String

Tidak

prefix/

Awalan objek yang digunakan untuk memfilter objek yang akan diproses.

Node anak: None

Node induk: KeyPrefixManifestGenerator

Elemen respons

Nama

Tipe

Contoh

Deskripsi

JobId

String

MzRjZGU2NGQ3YTY5NGRhMTkxZmZhYzY5OTM5YTcxYWU=

JobId yang dihasilkan oleh OSS untuk task tersebut. Panjangnya 44 karakter dan terdiri dari huruf (a-z, A-Z) serta angka (0-9). Tidak mengandung tanda hubung (-) atau garis bawah (_).

Header respons

Operasi ini hanya menggunakan common response headers. Untuk informasi selengkapnya, lihat Common Response Headers.

Contoh

  • Permintaan contoh

    POST /?batchJob HTTP/1.1
    Host: oss-cn-hangzhou.aliyuncs.com
    Authorization: SignatureValue
    <?xml version="1.0" encoding="UTF-8"?>
    <CreateJobRequest>
      <ConfirmationRequired>false</ConfirmationRequired>
      <Operation>
        <PutObjectTagging>
          <TagSet>
            <Tag>
              <Key>Environment</Key>
              <Value>Production</Value>
            </Tag>
          </TagSet>
        </PutObjectTagging>
      </Operation>
      <Report>
        <Bucket>report-bucket</Bucket>
        <Enabled>true</Enabled>
        <Prefix>batch-reports/</Prefix>
        <ReportScope>AllTasks</ReportScope>
      </Report>
      <ClientRequestToken>unique-token-123</ClientRequestToken>
      <Manifest>
        <Location>
          <ETag>d41d8cd98f00b204e9800998ecf8427e</ETag>
          <Bucket>manifest-bucket</Bucket>
          <Object>manifest.csv</Object>
        </Location>
        <Spec>
          <Fields>Bucket,Key</Fields>
          <Format>OSS_BatchOperations_CSV_20250611</Format>
        </Spec>
      </Manifest>
      <Description>Batch job to set object tags</Description>
      <Priority>10</Priority>
      <RoleArn>arn:acs:ram::uid:role/BatchOperationRole</RoleArn>
    </CreateJobRequest>
  • Respons contoh

    HTTP/1.1 200 OK
    <?xml version="1.0" encoding="UTF-8"?>
    <CreateJobResult>
       <JobId>MzRjZGU2NGQ3YTY5NGRhMTkxZmZhYzY5OTM5YTcxYWU=</JobId>
    </CreateJobResult>