Todos os produtos
Search
Central de documentação

Object Storage Service:CreateJob

Última atualização: Oct 20, 2026

Cria um job em lote que executa uma operação especificada em vários objetos.

Notas de uso

  • Um status de job Complete não garante que todas as tarefas do job foram bem-sucedidas. Você deve verificar o relatório final para determinar o status de execução de cada tarefa. Por exemplo, se uma regra de ciclo de vida depende de um job em lote para adicionar tags para exclusão de objetos, o relatório final é a fonte definitiva para o resultado.

  • PutObjectTagging sobrescreve as tags existentes.

  • AddObjectTagging não é uma operação atômica. Ela primeiro recupera as tags existentes e depois as atualiza. Podem ocorrer sobrescritas se houver operações simultâneas.

  • Se vários jobs operarem simultaneamente no mesmo conjunto de objetos, a ordem de execução pode diferir da ordem de envio. Evite executar operações simultâneas no mesmo conjunto de objetos.

  • Um status Complete indica apenas que o job foi finalizado. Não significa que todos os objetos foram processados com sucesso. Da mesma forma, para jobs com status Cancelled, Paused, Suspended ou Failed, alguns objetos podem ter sido processados com sucesso.

  • Se um job permanecer no estado Suspended por mais de 14 dias sem confirmação do usuário, seu status será alterado para Failed.

  • Quando um job é cancelado, ele não para imediatamente. O job primeiro entra no estado Cancelling por um período de tempo.

Permissões

Uma conta Alibaba Cloud tem permissões completas por padrão. Usuários RAM e funções RAM requerem permissões explícitas concedidas por meio de uma RAM Policy ou de uma Bucket Policy.

API

Ação

Descrição

CreateJob

oss:CreateJob

Cria um job de operação em lote.

Sintaxe da solicitação

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>

Cabeçalhos da solicitação

Esta operação utiliza apenas cabeçalhos de solicitação comuns. Para mais informações, consulte Common Request Headers.

Elementos da solicitação

Nome

Tipo

Obrigatório

Exemplo

Descrição

CreateJobRequest

Container

Sim

Nenhum

O nó raiz do job de operação em lote.

Nós filhos: ConfirmationRequired, Operation, Report, ClientRequestToken, Manifest, KeyPrefixManifestGenerator, Description, Priority e RoleArn

Nó pai: Nenhum

ConfirmationRequired

Boolean

Não

false

Confirmação antes da execução do job.

Nó filho: Nenhum

Nó pai: CreateJobRequest

Description

String

Não

Descrição do job de operação em lote

A descrição do job.

Nó filho: Nenhum

Nó pai: CreateJobRequest

Priority

Integer

Sim

10

A prioridade do job.

Nó filho: Nenhum

Nó pai: CreateJobRequest

RoleArn

String

Sim

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

A função RAM que o OSS assume para executar o job de operação em lote.

Nó filho: Nenhum

Nó pai: CreateJobRequest

Operation

Container

Sim

Nenhum

O tipo de operação a ser executada no job em lote. Apenas um tipo de operação é permitido. As operações suportadas incluem PutObjectTagging, AddObjectTagging, DeleteObjectTagging, PutObjectAcl e RestoreObject.

Nós filhos: PutObjectTagging, AddObjectTagging, DeleteObjectTagging, PutObjectAcl e RestoreObject

Nó pai: CreateJobRequest

PutObjectTagging

Container

Não

Nenhum

A operação para definir tags de objeto.

Nó filho: TagSet

Nó pai: Operation

TagSet

Container

Sim (quando PutObjectTagging é usado)

Nenhum

Uma coleção de chaves e valores de tags.

Nó filho: Tag

Nó pai: PutObjectTagging

Tag

Container

Sim

Nenhum

Um item de tag.

Nós filhos: Key e Value

Nó pai: TagSet

Key

String

Sim

Environment

A chave da tag.

Nó filho: Nenhum

Nó pai: Tag

Value

String

Sim

Production

O valor da tag.

Nó filho: Nenhum

Nó pai: Tag

DeleteObjectTagging

Container

Não

Nenhum

A operação para excluir tags de objeto. Este é um nó vazio.

Nó filho: Nenhum

Nó pai: Operation

PutObjectAcl

Container

Não

Nenhum

A operação para definir a ACL de um objeto.

Nó filho: ObjectAcl

Nó pai: Operation

ObjectAcl

String

Sim (quando PutObjectAcl é usado)

private

A ACL do objeto. Valores válidos: default, private, public-read e public-read-write.

Nó filho: Nenhum

Nó pai: PutObjectAcl

RestoreObject

Container

Não

Nenhum

A operação para restaurar um objeto arquivado.

Nós filhos: Days e Tier

Nó pai: Operation

Days

Integer

Não

7

O número de dias para manter o objeto Archive, Cold Archive ou Deep Cold Archive restaurado disponível. Para objetos Archive, o intervalo de valores é de 1 a 7. Para objetos Cold Archive e Deep Cold Archive, o intervalo de valores é de 1 a 365.

Nó filho: Nenhum

Nó pai: RestoreObject

Tier

String

Não

Standard

A prioridade de restauração para objetos Cold Archive ou Deep Cold Archive. Para objetos Cold Archive, os valores válidos são Standard (2 a 5 horas) e Bulk (5 a 12 horas). Para objetos Deep Cold Archive, o valor válido é Standard (dentro de 48 horas).

Nó filho: Nenhum

Nó pai: RestoreObject

Report

Container

Sim

Nenhum

O nó de configuração para o relatório de saída.

Nós filhos: Bucket, Enabled, Prefix e ReportScope

Nó pai: CreateJobRequest

Bucket

String

Sim

report-bucket

O bucket onde o relatório de saída é armazenado. O bucket de destino deve estar na mesma região que o job de operação em lote.

Nó filho: Nenhum

Nó pai: Report

Enabled

Boolean

Sim

true

Especifica se deve gerar um relatório.

Nó filho: Nenhum

Nó pai: Report

Prefix

String

Não

reports/

O prefixo para o relatório de saída. Isso permite armazenar o relatório em um subdiretório.

Nó filho: Nenhum

Nó pai: Report

ReportScope

String

Não

AllTasks

O escopo do relatório. Valores válidos: AllTasks e FailedTasksOnly. Valor padrão: AllTasks (relata todas as tarefas).

Nó filho: Nenhum

Nó pai: Report

ClientRequestToken

String

Sim

unique-token-123

Um identificador exclusivo para garantir a idempotência da solicitação. O comprimento deve ser de 1 a 64 caracteres.

Nó filho: Nenhum

Nó pai: CreateJobRequest

Manifest

Container

Condicionalmente obrigatório

Nenhum

O nó do arquivo de manifesto. Você deve especificar este nó ou KeyPrefixManifestGenerator.

Nós filhos: Location e Spec

Nó pai: CreateJobRequest

Location

Container

Sim (quando Manifest é usado)

Nenhum

A localização do arquivo de manifesto. O bucket que contém o arquivo de manifesto deve estar na mesma região que o job de operação em lote.

Nós filhos: ETag, Bucket, Object e VersionId

Nó pai: Manifest

ETag

String

Não

d41d8cd98f00b204e9800998ecf8427e

O ETag do arquivo de manifesto.

Nó filho: Nenhum

Nó pai: Location

Object

String

Sim

manifest.csv

O objeto que corresponde ao arquivo de manifesto.

Nó filho: Nenhum

Nó pai: Location

VersionId

String

Não

3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo

O ID da versão do objeto que corresponde ao arquivo de manifesto.

Nó filho: Nenhum

Nó pai: Location

Spec

Container

Sim (quando Manifest é usado)

Nenhum

O formato do arquivo de manifesto.

Nós filhos: Fields e Format

Nó pai: Manifest

Format

String

Sim

OSS_BatchOperations_CSV_20250611

O tipo de arquivo de manifesto. Valores válidos:

  • OSS_BatchOperations_CSV_20250611: O formato CSV para OSS Batch Operations. Use este para arquivos de manifesto criados para jobs de operação em lote.

  • OSS_InventoryReport_CSV_20250611: O formato CSV para relatórios de inventário do OSS. Use este para relatórios de manifesto gerados pelo recurso de inventário.

Nó filho: Nenhum

Nó pai: Spec

Fields

String

Não

Bucket,Key,VersionId

Se você enviar um arquivo CSV personalizado, defina o formato CSV.

Nó filho: Nenhum

Nó pai: Spec

KeyPrefixManifestGenerator

Container

Condicionalmente obrigatório

Nenhum

Gera um arquivo de manifesto com base em um prefixo. Você deve especificar este nó ou Manifest.

Nós filhos: SourceBucket e Prefix

Nó pai: CreateJobRequest

SourceBucket

String

Sim (quando KeyPrefixManifestGenerator é usado)

source-bucket

O bucket de origem para o arquivo de manifesto.

Nó filho: Nenhum

Nó pai: KeyPrefixManifestGenerator

Prefix

String

Não

prefix/

O prefixo de objeto usado para filtrar objetos para processamento.

Nó filho: Nenhum

Nó pai: KeyPrefixManifestGenerator

Elementos da resposta

Nome

Tipo

Exemplo

Descrição

JobId

String

MzRjZGU2NGQ3YTY5NGRhMTkxZmZhYzY5OTM5YTcxYWU=

O ID do job gerado pelo OSS. O valor tem 44 caracteres e contém apenas letras (a-z, A-Z) e dígitos (0-9), sem hífens (-) ou sublinhados (_).

Cabeçalhos da resposta

Esta operação utiliza apenas cabeçalhos de resposta comuns. Para mais informações, consulte Common Response Headers.

Exemplos

  • Exemplo de solicitação

    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>
  • Exemplo de resposta

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

Interface de linha de comando ossutil

Para o comando ossutil que corresponde à operação CreateJob, consulte create-job.