Cria um job em lote que executa uma operação especificada em vários objetos.
Notas de uso
Um status de job
Completenã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.PutObjectTaggingsobrescreve as tags existentes.AddObjectTaggingnã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
Completeindica apenas que o job foi finalizado. Não significa que todos os objetos foram processados com sucesso. Da mesma forma, para jobs com statusCancelled,Paused,SuspendedouFailed, alguns objetos podem ter sido processados com sucesso.Se um job permanecer no estado
Suspendedpor mais de 14 dias sem confirmação do usuário, seu status será alterado paraFailed.Quando um job é cancelado, ele não para imediatamente. O job primeiro entra no estado
Cancellingpor 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 |
|
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:
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.