CreateJob 操作を呼び出して、複数のオブジェクトに対して指定された操作を実行するバッチジョブを作成します。
使用上の注意
ジョブのステータスが `Complete` であっても、ジョブ内のすべてのタスクが成功したとは限りません。各タスクの実行ステータスを確認するには、最終レポートを確認する必要があります。たとえば、ライフサイクルルールがバッチジョブに依存してオブジェクト削除用のタグを追加する場合、最終レポートが結果の確定的な情報源となります。
`PutObjectTagging` は既存のタグを上書きします。
`AddObjectTagging` はアトミック操作ではありません。まず既存のタグを取得してから更新します。同時操作がある場合、上書きが発生する可能性があります。
複数のジョブが同じオブジェクトセットに対して同時に操作を行う場合、実行順序が送信順序と異なる場合があります。同じオブジェクトセットに対して同時操作を実行することは避けてください。
`Complete` ステータスは、ジョブが終了したことのみを示します。すべてのオブジェクトが正常に処理されたことを意味するわけではありません。同様に、`Cancelled`、`Paused`、`Suspended`、または `Failed` ステータスのジョブでも、一部のオブジェクトは正常に処理されている可能性があります。
ジョブがユーザーの確認なしに 14 日以上 `Suspended` 状態のままである場合、そのステータスは `Failed` に変わります。
ジョブがキャンセルされても、すぐに停止するわけではありません。ジョブはまず一定期間 `Cancelling` の状態になります。
権限
デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。対照的に、Resource Access Management (RAM) ユーザーまたは RAM ロールはデフォルトでは権限を持っていません。Alibaba Cloud アカウントのオーナーまたは管理者は、RAM ポリシーまたはバケットポリシーを使用して権限を付与する必要があります。
API | アクション | 説明 |
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>リクエストヘッダー
この操作は、共通のリクエストヘッダーのみを使用します。詳細については、「共通リクエストヘッダー」をご参照ください。
リクエスト要素
名前 | タイプ | 必須 | 例 | 説明 |
CreateJobRequest | コンテナ | はい | なし | バッチ操作ジョブのルートノードです。 子ノード: ConfirmationRequired、Operation、Report、ClientRequestToken、Manifest、KeyPrefixManifestGenerator、Description、Priority、および RoleArn 親ノード: なし |
ConfirmationRequired | ブール値 | いいえ | false | ジョブを実行する前の確認です。 子ノード:なし 親ノード: CreateJobRequest |
Description | 文字列 | いいえ | Description of the batch operation job | ジョブの説明。 子ノード:なし 親ノード: CreateJobRequest |
Priority | Integer | はい | 10 | ジョブの優先度です。 子ノード:なし 親ノード: CreateJobRequest |
RoleArn | 文字列 | はい | arn:acs:ram::uid:role/BatchOperationRole | OSS がバッチ操作ジョブを実行するために偽装する RAM ロール。 子ノード:なし 親ノード: CreateJobRequest |
Operation | コンテナ | はい | なし | バッチジョブで実行する操作のタイプです。許可される操作タイプは 1 つだけです。サポートされている操作には、PutObjectTagging、AddObjectTagging、DeleteObjectTagging、PutObjectAcl、RestoreObject が含まれます。 子ノード: PutObjectTagging、AddObjectTagging、DeleteObjectTagging、PutObjectAcl、および RestoreObject 親ノード: CreateJobRequest |
PutObjectTagging | コンテナ | いいえ | なし | オブジェクトタグを設定する操作。 子ノード: TagSet 親ノード: Operation |
TagSet | コンテナ | はい (PutObjectTagging を使用する場合) | なし | タグキーと値のコレクション。 子ノード: Tag 親ノード: PutObjectTagging |
Tag | コンテナ | はい | なし | タグ項目。 子ノード: Key および Value 親ノード: TagSet |
Key | 文字列 | はい | Environment | タグキー。 子ノード:なし 親ノード: Tag |
Value | 文字列 | はい | Production | タグ値。 子ノード:なし 親ノード: Tag |
DeleteObjectTagging | コンテナ | いいえ | なし | オブジェクトタグを削除する操作。これは空のノードです。 子ノード:なし 親ノード: Operation |
PutObjectAcl | コンテナ | いいえ | なし | オブジェクトの ACL を設定する操作です。 子ノード: ObjectAcl 親ノード: Operation |
ObjectAcl | 文字列 | はい (PutObjectAcl を使用する場合) | private | オブジェクトの ACL です。有効値:default、private、public-read、public-read-write。 子ノード:なし 親ノード: PutObjectAcl |
RestoreObject | コンテナ | いいえ | なし | アーカイブ済みオブジェクトを解凍する操作。 子ノード: Days および Tier 親ノード: Operation |
Days | Integer | いいえ | 7 | 解凍されたアーカイブ、コールドアーカイブ、またはディープコールドアーカイブオブジェクトを有効にしておく日数です。アーカイブオブジェクトの場合、有効値は 1~7 です。コールドアーカイブおよびディープコールドアーカイブオブジェクトの場合、有効値は 1~365 です。 子ノード:なし 親ノード: RestoreObject |
Tier | 文字列 | いいえ | Standard | コールドアーカイブまたはディープコールドアーカイブオブジェクトの解凍優先度。コールドアーカイブオブジェクトの場合、有効値は Standard (2~5 時間) と Bulk (5~12 時間) です。ディープコールドアーカイブオブジェクトの場合、有効値は Standard (48 時間以内) です。 子ノード:なし 親ノード: RestoreObject |
Report | コンテナ | はい | なし | 出力レポートの構成ノード。 子ノード: Bucket、Enabled、Prefix、および ReportScope 親ノード: CreateJobRequest |
Bucket | 文字列 | はい | report-bucket | 出力レポートが保存されるバケット。宛先バケットは、バッチ操作ジョブと同じリージョンにある必要があります。 子ノード:なし 親ノード: 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 を使用する場合) | なし | マニフェストファイルの場所です。マニフェストファイルを含むバケットは、バッチ操作ジョブと同じリージョンにある必要があります。 子ノード: ETag、Bucket、Object、および VersionId 親ノード: Manifest |
ETag | 文字列 | いいえ | d41d8cd98f00b204e9800998ecf8427e | マニフェストファイルの ETag。 子ノード:なし 親ノード: Location |
Object | 文字列 | はい | manifest.csv | マニフェストファイルに対応するオブジェクトです。 子ノード:なし 親ノード: Location |
VersionId | 文字列 | いいえ | 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo | マニフェストファイルに対応するオブジェクトのバージョン ID です。 子ノード:なし 親ノード: Location |
Spec | コンテナ | はい (Manifest を使用する場合) | なし | マニフェストファイルのフォーマットを記述します。 子ノード: Fields および Format 親ノード: Manifest |
Format | 文字列 | はい | OSS_BatchOperations_CSV_20250611 | マニフェストファイルのタイプです。有効値:
子ノード:なし 親ノード: Spec |
Fields | 文字列 | いいえ | Bucket,Key,VersionId | カスタム CSV ファイルをアップロードする場合は、CSV フォーマットを定義します。 子ノード:なし 親ノード: Spec |
KeyPrefixManifestGenerator | コンテナ | 条件付きで必須 | なし | プレフィックスに基づいてマニフェストファイルを生成します。このノードまたは Manifest のいずれかを指定する必要があります。 子ノード: SourceBucket および Prefix 親ノード: CreateJobRequest |
SourceBucket | 文字列 | はい (KeyPrefixManifestGenerator を使用する場合) | source-bucket | マニフェストファイルのソースバケットです。 子ノード:なし 親ノード: KeyPrefixManifestGenerator |
Prefix | 文字列 | いいえ | prefix/ | 処理対象のオブジェクトをフィルターするために使用されるオブジェクトプレフィックスです。 子ノード:なし 親ノード: KeyPrefixManifestGenerator |
レスポンス要素
名前 | タイプ | 例 | 説明 |
JobId | 文字列 | MzRjZGU2NGQ3YTY5NGRhMTkxZmZhYzY5OTM5YTcxYWU= | タスクに対して OSS によって生成された JobId です。長さは 44 文字で、英字 (a-z、A-Z) と数字 (0-9) が含まれます。ハイフン (-) やアンダースコア (_) は含まれません。 |
レスポンスヘッダー
この操作は、共通のレスポンスヘッダーのみを使用します。詳細については、「共通レスポンスヘッダー」をご参照ください。
例
リクエスト例
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>レスポンス例
HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <CreateJobResult> <JobId>MzRjZGU2NGQ3YTY5NGRhMTkxZmZhYzY5OTM5YTcxYWU=</JobId> </CreateJobResult>