全部產品
Search
文件中心

Object Storage Service:CreateJob

更新時間:Dec 06, 2025

調用CreateJob介面建立大量操作任務,對大量對象執行指定操作。

注意事項

  • 作業狀態為Complete並不代表每個條目都執行成功,最終每個條目的執行狀況需以報告為準。比如lifecycle依賴批量作業來打tagging過濾進行回收的,要以最終報告為準。

  • PutObjectTagging會覆蓋既有的tagging。

  • AddObjectTagging會先取Tagging、再更新,非原子性,但是如果有並行作業,則仍然可能會有覆蓋行為。

  • 如果有多個作業並行作業同一批Object,大量操作的執行順序可能與提交順序會不同,建議不要並行作業同一批Object。

  • Complete狀態,僅代表Job完成,但不代表全部Object執行成功;同理Cancelled、Paused、Suspended、Failed狀態,可能有部分Object執行成功。

  • 處於Suspended狀態超過14天使用者未確認的Job將會轉成失敗狀態。

  • 設定Job狀態為Cancelled時,Job不會馬上取消,會有一段時間處於Cancelling狀態。

許可權說明

阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM PolicyBucket Policy授予操作許可權。

API

Action

說明

CreateJob

oss:CreateJob

建立大量操作任務。

請求文法

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>

要求標頭

此介面除支援公用要求標頭外,無特有要求標頭。更多資訊,請參見公用要求標頭(Common Request Headers)

請求元素

名稱

類型

是否必選

樣本值

描述

CreateJobRequest

容器

批量作業任務的根節點。

子節點:ConfirmationRequired、Operation、Report、ClientRequestToken、Manifest、KeyPrefixManifestGenerator、Description、Priority、RoleArn

父節點:無

ConfirmationRequired

布爾值

false

作業執行前的確認。

子節點:無

父節點:CreateJobRequest

Description

字串

大量操作任務描述

作業描述資訊。

子節點:無

父節點:CreateJobRequest

Priority

整數

10

優先順序。

子節點:無

父節點:CreateJobRequest

RoleArn

字串

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

IAM角色,OSS將使用該角色去執行大量操作作業。

子節點:無

父節點:CreateJobRequest

Operation

容器

執行批量作業的操作類型,只能包含一種操作。支援的操作類型包括PutObjectTagging、AddObjectTagging、DeleteObjectTagging、PutObjectAcl以及RestoreObject。

子節點:PutObjectTagging、AddObjectTagging、DeleteObjectTagging、PutObjectAcl、RestoreObject

父節點:CreateJobRequest

PutObjectTagging

容器

設定對象標籤操作。

子節點:TagSet

父節點:Operation

TagSet

容器

是(當使用PutObjectTagging時)

tag key、value集合。

子節點:Tag

父節點:PutObjectTagging

Tag

容器

標籤項。

子節點:Key、Value

父節點:TagSet

Key

字串

Environment

標籤鍵。

子節點:無

父節點:Tag

Value

字串

Production

標籤值。

子節點:無

父節點:Tag

DeleteObjectTagging

容器

刪除對象標籤操作,空節點。

子節點:無

父節點:Operation

PutObjectAcl

容器

設定對象ACL操作。

子節點:ObjectAcl

父節點:Operation

ObjectAcl

字串

是(當使用PutObjectAcl時)

private

設定object acl,取值:default、private、public-read、public-read-write。

子節點:無

父節點:PutObjectAcl

RestoreObject

容器

恢複歸檔對象操作。

子節點:Days、Tier

父節點:Operation

Days

整數

7

設定歸檔、冷歸檔以及深度冷歸檔類型Object的解凍天數。歸檔類型Object解凍天數取值範圍為1~7,冷歸檔以及深度冷歸檔類型Object解凍天數取值範圍為1~365。

子節點:無

父節點:RestoreObject

Tier

字串

Standard

冷歸檔、深度冷歸檔類型Object解凍優先順序。冷歸檔類型:Standard(2~5小時)、Bulk(5~12小時);深度冷歸檔類型:Standard(48小時內)。

子節點:無

父節點:RestoreObject

Report

容器

輸出報告配置節點。

子節點:Bucket、Enabled、Prefix、ReportScope

父節點:CreateJobRequest

Bucket

字串

report-bucket

報告輸出存放的儲存空間(Bucket)。目標Bucket必須和大量操作任務在同一個地區(Region)。

子節點:無

父節點:Report

Enabled

布爾值

true

是否需要輸出報告。

子節點:無

父節點:Report

Prefix

字串

reports/

報告輸出的首碼,可使其存放在某個子目錄下。

子節點:無

父節點:Report

ReportScope

字串

AllTasks

報告輸出範圍,取值:AllTasks、FailedTasksOnly,預設為AllTasks(全都輸出)。

子節點:無

父節點:Report

ClientRequestToken

字串

unique-token-123

用於確保請求等冪性的唯一識別碼,長度1~64字元。

子節點:無

父節點:CreateJobRequest

Manifest

容器

條件必選

清單節點,與KeyPrefixManifestGenerator二選一。

子節點:Location、Spec

父節點:CreateJobRequest

Location

容器

是(當使用Manifest時)

清單位置。資訊清單檔所在的Bucket必須和大量操作任務在同一個地區(Region)。

子節點:ETag、Bucket、Object、VersionId

父節點:Manifest

ETag

字串

d41d8cd98f00b204e9800998ecf8427e

資訊清單檔的ETag。

子節點:無

父節點:Location

Object

字串

manifest.csv

清單對應的Object。

子節點:無

父節點:Location

VersionId

字串

3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo

清單對應的Object VersionId。

子節點:無

父節點:Location

Spec

容器

是(當使用Manifest時)

描述清單格式。

子節點:Fields、Format

父節點:Manifest

Format

字串

OSS_BatchOperations_CSV_20250611

清單類型。取值:

  • OSS_BatchOperations_CSV_20250611:OSS大量操作CSV格式,用於大量操作任務的資訊清單檔。

  • OSS_InventoryReport_CSV_20250611:OSS清單報告CSV格式,用於對象清單功能產生的清單報告。

子節點:無

父節點:Spec

Fields

字串

Bucket,Key,VersionId

如果是使用者自己上傳的CSV,需要定義CSV格式。

子節點:無

父節點:Spec

KeyPrefixManifestGenerator

容器

條件必選

基於首碼產生清單,與Manifest二選一。

子節點:SourceBucket、Prefix

父節點:CreateJobRequest

SourceBucket

字串

是(當使用KeyPrefixManifestGenerator時)

source-bucket

清單的源Bucket。

子節點:無

父節點:KeyPrefixManifestGenerator

Prefix

字串

prefix/

對象的首碼,用於篩選需要處理的對象。

子節點:無

父節點:KeyPrefixManifestGenerator

響應元素

名稱

類型

樣本值

描述

JobId

字串

MzRjZGU2NGQ3YTY5NGRhMTkxZmZhYzY5OTM5YTcxYWU=

OSS為該任務產生的JobId,長度44個字元,不包含-、_,包含a-z、A-Z、0-9。

回應標頭

此介面僅涉及公用回應標頭。更多資訊,請參見公用回應標頭(Common Response Headers)

樣本

  • 請求樣本

    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>大量設定對象標籤任務</Description>
      <Priority>10</Priority>
      <RoleArn>arn:acs:ram::uid:role/BatchOperationRole</RoleArn>
    </CreateJobRequest>
  • 返回樣本

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