Crée une tâche par lot qui exécute une opération spécifiée sur plusieurs objets.
Remarques relatives à l'utilisation
Le statut
Completed'une tâche ne garantit pas la réussite de toutes les tâches qu'elle contient. Consultez le rapport final pour déterminer le statut d'exécution de chaque tâche. Par exemple, si une règle de cycle de vie s'appuie sur une tâche par lot pour ajouter des tags en vue de la suppression d'objets, le rapport final fait autorité concernant le résultat.PutObjectTaggingécrase les tags existants.AddObjectTaggingn'est pas une opération atomique. Elle récupère d'abord les tags existants, puis les met à jour. Des écrasements peuvent se produire en cas d'opérations concurrentes.Si plusieurs tâches opèrent simultanément sur le même ensemble d'objets, l'ordre d'exécution peut différer de l'ordre de soumission. Évitez d'exécuter des opérations concurrentes sur le même ensemble d'objets.
Le statut
Completeindique uniquement que la tâche est terminée. Cela ne signifie pas que tous les objets ont été traités avec succès. De même, pour les tâches dont le statut estCancelled,Paused,SuspendedouFailed, certains objets peuvent avoir été traités avec succès.Si une tâche reste à l'état
Suspendedpendant plus de 14 jours sans confirmation de l'utilisateur, son statut passe àFailed.Lorsqu'une tâche est annulée, elle ne s'arrête pas immédiatement. La tâche entre d'abord dans l'état
Cancellingpendant un certain temps.
Autorisations
Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM et les rôles RAM nécessitent des autorisations explicites accordées via une politique RAM ou une politique de bucket.
|
API |
Action |
Description |
|
CreateJob |
|
Crée une tâche d'opération par lot. |
Syntaxe de la requête
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>
En-têtes de requête
Cette opération utilise uniquement des en-têtes de requête communs. Pour plus d'informations, consultez la section En-têtes de requête communs.
Éléments de requête
|
Nom |
Type |
Obligatoire |
Exemple |
Description |
|
CreateJobRequest |
Conteneur |
Oui |
Aucun |
Nœud racine de la tâche d'opération par lot. Nœuds enfants : ConfirmationRequired, Operation, Report, ClientRequestToken, Manifest, KeyPrefixManifestGenerator, Description, Priority et RoleArn Nœud parent : Aucun |
|
ConfirmationRequired |
Booléen |
Non |
false |
Confirmation avant l'exécution de la tâche. Nœud enfant : Aucun Nœud parent : CreateJobRequest |
|
Description |
Chaîne |
Non |
Description de la tâche d'opération par lot |
Description de la tâche. Nœud enfant : Aucun Nœud parent : CreateJobRequest |
|
Priority |
Entier |
Oui |
10 |
Priorité de la tâche. Nœud enfant : Aucun Nœud parent : CreateJobRequest |
|
RoleArn |
Chaîne |
Oui |
arn:acs:ram::uid:role/BatchOperationRole |
Rôle RAM qu'OSS assume pour exécuter la tâche d'opération par lot. Nœud enfant : Aucun Nœud parent : CreateJobRequest |
|
Operation |
Conteneur |
Oui |
Aucun |
Type d'opération à effectuer dans la tâche par lot. Un seul type d'opération est autorisé. Les opérations prises en charge incluent PutObjectTagging, AddObjectTagging, DeleteObjectTagging, PutObjectAcl et RestoreObject. Nœuds enfants : PutObjectTagging, AddObjectTagging, DeleteObjectTagging, PutObjectAcl et RestoreObject Nœud parent : CreateJobRequest |
|
PutObjectTagging |
Conteneur |
Non |
Aucun |
Opération permettant de définir les tags d'objet. Nœud enfant : TagSet Nœud parent : Operation |
|
TagSet |
Conteneur |
Oui (lorsque PutObjectTagging est utilisé) |
Aucun |
Collection de clés et de valeurs de tag. Nœud enfant : Tag Nœud parent : PutObjectTagging |
|
Tag |
Conteneur |
Oui |
Aucun |
Élément de tag. Nœuds enfants : Key et Value Nœud parent : TagSet |
|
Key |
Chaîne |
Oui |
Environment |
Clé du tag. Nœud enfant : Aucun Nœud parent : Tag |
|
Value |
Chaîne |
Oui |
Production |
Valeur du tag. Nœud enfant : Aucun Nœud parent : Tag |
|
DeleteObjectTagging |
Conteneur |
Non |
Aucun |
Opération permettant de supprimer les tags d'objet. Il s'agit d'un nœud vide. Nœud enfant : Aucun Nœud parent : Operation |
|
PutObjectAcl |
Conteneur |
Non |
Aucun |
Opération permettant de définir la liste de contrôle d'accès (ACL) d'un objet. Nœud enfant : ObjectAcl Nœud parent : Operation |
|
ObjectAcl |
Chaîne |
Oui (lorsque PutObjectAcl est utilisé) |
private |
ACL de l'objet. Valeurs valides : default, private, public-read et public-read-write. Nœud enfant : Aucun Nœud parent : PutObjectAcl |
|
RestoreObject |
Conteneur |
Non |
Aucun |
Opération permettant de restaurer un objet archivé. Nœuds enfants : Days et Tier Nœud parent : Operation |
|
Days |
Entier |
Non |
7 |
Nombre de jours pendant lesquels l'objet Archive, Cold Archive ou Deep Cold Archive restauré reste disponible. Pour les objets Archive, la plage de valeurs est de 1 à 7. Pour les objets Cold Archive et Deep Cold Archive, la plage de valeurs est de 1 à 365. Nœud enfant : Aucun Nœud parent : RestoreObject |
|
Tier |
Chaîne |
Non |
Standard |
Priorité de restauration pour les objets Cold Archive ou Deep Cold Archive. Pour les objets Cold Archive, les valeurs valides sont Standard (2 à 5 heures) et Bulk (5 à 12 heures). Pour les objets Deep Cold Archive, la valeur valide est Standard (dans les 48 heures). Nœud enfant : Aucun Nœud parent : RestoreObject |
|
Report |
Conteneur |
Oui |
Aucun |
Nœud de configuration du rapport de sortie. Nœuds enfants : Bucket, Enabled, Prefix et ReportScope Nœud parent : CreateJobRequest |
|
Bucket |
Chaîne |
Oui |
report-bucket |
Bucket dans lequel le rapport de sortie est stocké. Le bucket de destination doit se trouver dans la même région que la tâche d'opération par lot. Nœud enfant : Aucun Nœud parent : Report |
|
Enabled |
Booléen |
Oui |
true |
Indique si un rapport doit être généré. Nœud enfant : Aucun Nœud parent : Report |
|
Prefix |
Chaîne |
Non |
reports/ |
Préfixe du rapport de sortie. Cela vous permet de stocker le rapport dans un sous-répertoire. Nœud enfant : Aucun Nœud parent : Report |
|
ReportScope |
Chaîne |
Non |
AllTasks |
Portée du rapport. Valeurs valides : AllTasks et FailedTasksOnly. Valeur par défaut : AllTasks (rapport sur toutes les tâches). Nœud enfant : Aucun Nœud parent : Report |
|
ClientRequestToken |
Chaîne |
Oui |
unique-token-123 |
Identifiant unique garantissant l'idempotence de la requête. La longueur doit être comprise entre 1 et 64 caractères. Nœud enfant : Aucun Nœud parent : CreateJobRequest |
|
Manifest |
Conteneur |
Conditionnellement obligatoire |
Aucun |
Nœud du fichier manifeste. Vous devez spécifier ce nœud ou KeyPrefixManifestGenerator. Nœuds enfants : Location et Spec Nœud parent : CreateJobRequest |
|
Location |
Conteneur |
Oui (lorsque Manifest est utilisé) |
Aucun |
Emplacement du fichier manifeste. Le bucket contenant le fichier manifeste doit se trouver dans la même région que la tâche d'opération par lot. Nœuds enfants : ETag, Bucket, Object et VersionId Nœud parent : Manifest |
|
ETag |
Chaîne |
Non |
d41d8cd98f00b204e9800998ecf8427e |
ETag du fichier manifeste. Nœud enfant : Aucun Nœud parent : Location |
|
Object |
Chaîne |
Oui |
manifest.csv |
Objet correspondant au fichier manifeste. Nœud enfant : Aucun Nœud parent : Location |
|
VersionId |
Chaîne |
Non |
3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo |
ID de version de l'objet correspondant au fichier manifeste. Nœud enfant : Aucun Nœud parent : Location |
|
Spec |
Conteneur |
Oui (lorsque Manifest est utilisé) |
Aucun |
Format du fichier manifeste. Nœuds enfants : Fields et Format Nœud parent : Manifest |
|
Format |
Chaîne |
Oui |
OSS_BatchOperations_CSV_20250611 |
Type de fichier manifeste. Valeurs valides :
Nœud enfant : Aucun Nœud parent : Spec |
|
Fields |
Chaîne |
Non |
Bucket,Key,VersionId |
Si vous téléchargez un fichier CSV personnalisé, définissez le format CSV. Nœud enfant : Aucun Nœud parent : Spec |
|
KeyPrefixManifestGenerator |
Conteneur |
Conditionnellement obligatoire |
Aucun |
Génère un fichier manifeste basé sur un préfixe. Vous devez spécifier ce nœud ou Manifest. Nœuds enfants : SourceBucket et Prefix Nœud parent : CreateJobRequest |
|
SourceBucket |
Chaîne |
Oui (lorsque KeyPrefixManifestGenerator est utilisé) |
source-bucket |
Bucket source pour le fichier manifeste. Nœud enfant : Aucun Nœud parent : KeyPrefixManifestGenerator |
|
Prefix |
Chaîne |
Non |
prefix/ |
Préfixe d'objet utilisé pour filtrer les objets à traiter. Nœud enfant : Aucun Nœud parent : KeyPrefixManifestGenerator |
Éléments de réponse
|
Nom |
Type |
Exemple |
Description |
|
JobId |
Chaîne |
MzRjZGU2NGQ3YTY5NGRhMTkxZmZhYzY5OTM5YTcxYWU= |
ID de tâche généré par OSS. La valeur comporte 44 caractères et contient uniquement des lettres (a-z, A-Z) et des chiffres (0-9), sans traits d'union (-) ni underscores (_). |
En-têtes de réponse
Cette opération utilise uniquement des en-têtes de réponse communs. Pour plus d'informations, consultez la section En-têtes de réponse communs.
Exemples
-
Exemple de requête
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> -
Exemple de réponse
HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <CreateJobResult> <JobId>MzRjZGU2NGQ3YTY5NGRhMTkxZmZhYzY5OTM5YTcxYWU=</JobId> </CreateJobResult>