Issue description
The value of the CreateJobRequest/RoleArn node in the CreateJob request is invalid.
Cause
The request fails because the value of the CreateJobRequest/RoleArn node is empty or the specified role is incorrect.
Example
In the following request, the role policy configured for the CreateJobRequest/RoleArn node is incorrect. The role cannot be assumed to operate on the bucket specified in the batch job description.
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>Job to set object tags in batch</Description>
<Priority>10</Priority>
<RoleArn>arn:acs:ram::uid:role/BatchOperationRole</RoleArn>
</CreateJobRequest>
Solution
-
You can create the default service role in the OSS console. For more information, see Batch Operations.
-
You can set the value of the
CreateJobRequest/RoleArnnode to the name of the service role created in step 1.