GetBucketInventory API は、バケットの指定されたインベントリ設定を照会します。
注意事項
デフォルトでは、Alibaba Cloud アカウントはバケットの指定されたインベントリ設定を表示する権限があります。Resource Access Management (RAM) ユーザーとして、または Security Token Service (STS) を使用してこの API を呼び出すには、oss:GetBucketInventory アクセス許可が必要です。
リクエスト構文
GET /?inventory&inventoryId=inventoryId HTTP/1.1リクエストパラメーター
| パラメーター | タイプ | 必須 | 説明 |
inventoryId | string | はい | 照会するインベントリ ルールのID。 |
レスポンス要素
次の表に、レスポンスに含まれる要素を示します。一部の要素は、特定のインベントリ設定にのみ適用されます。たとえば、DayOfMonth は Frequency が Monthly に設定されている場合にのみ適用され、AutoDelete は Frequency が Once に設定されている場合にのみ適用されます。増分インベントリに固有の要素については、次のサブセクションで説明します。
| 要素 | タイプ | 説明 |
Id | string | ユーザーが指定したインベントリの名前。名前はバケット内で一意である必要があります。 |
IsEnabled | boolean | インベントリが有効かどうかを示します。有効な値は true と false です。値が true の場合、インベントリ機能は有効になります。値が false の場合、インベントリは生成されません。 |
Filter | コンテナ | インベントリのフィルタリングに使用されるプレフィックス。プレフィックスが指定されている場合、インベントリには名前がプレフィックスに一致するオブジェクトのみが含まれます。 |
Prefix | string | フィルター ルールに一致するプレフィックス。親ノード: Filter |
Destination | コンテナ | インベントリ結果の送信先に関する情報。 |
OSSBucketDestination | コンテナ | エクスポートされたインベントリ結果が保存されるバケットに関する情報。親ノード: Destination |
Format | string | エクスポートされたインベントリファイルの形式。有効な値は CSV および Parquet です。Parquet 形式は現在、英国 (ロンドン) リージョンでのみサポートされています。親ノード: OSSBucketDestination |
AccountId | string | バケットの所有者が付与したアカウントID。親ノード: OSSBucketDestination |
RoleArn | string | 操作権限のためにバケットの所有者が付与したロールの名前。形式: acs:ram::uid:role/rolename。 親ノード: OSSBucketDestination |
Bucket | string | エクスポートされたインベントリファイルが保存されるバケット。親ノード: OSSBucketDestination |
Prefix | string | インベントリファイルのストレージパスのプレフィックス。親ノード: OSSBucketDestination |
Encryption | コンテナ | インベントリファイルの暗号化方式。有効な値は SSE-OSS および SSE-KMS です。インベントリファイルが暗号化されていない場合、この要素は空になります。親ノード: OSSBucketDestination |
SSE-OSS | コンテナ | SSE-OSS暗号化方式のコンテナ。親ノード: Encryption |
SSE-KMS | コンテナ | SSE-KMS暗号化方式で使用されるキーのコンテナ。親ノード: Encryption |
KeyId | string | KMSキーのID。親ノード: SSE-KMS |
Schedule | コンテナ | インベントリエクスポートのスケジュール情報のコンテナ。 |
Frequency | string | インベントリファイルをエクスポートする頻度。有効な値は Daily、Weekly、Monthly、Once です。親ノード: Schedule |
DayOfMonth | 正の整数 | インベントリがエクスポートされる日付。この要素は、Frequency が Monthly に設定されている場合にのみ適用されます。有効な値: 1~31。親ノード: Schedule |
AutoDelete | boolean | 1回限りのインベントリ実行が完了した後にインベントリ設定を自動的に削除するかどうかを指定します。この要素は、Frequency が Once に設定されている場合にのみ含まれます。有効な値は true と false です。親ノード: Schedule |
IncludedObjectVersions | string | オブジェクトのバージョン情報をインベントリに含めるかどうかを指定します。有効な値は All と Current です。値が All の場合、オブジェクトのすべてのバージョンのバージョン情報がエクスポートされます。値が Current の場合、オブジェクトの現在のバージョンのバージョン情報がエクスポートされます。 |
OptionalFields | コンテナ | インベントリ結果に含める設定項目。 |
Field | string | インベントリ結果に含まれる設定項目。オプションの項目: Size、LastModifiedDate、TransitionTime、ETag、StorageClass、IsMultipartUploaded、EncryptionStatus、ObjectAcl、TaggingCount、ObjectType、Crc64。親ノード: OptionalFields |
増分インベントリの要素
次の表に、増分インベントリに固有の要素を示します。
| 要素 | タイプ | 説明 |
IncrementalInventory | コンテナ | 増分インベントリの設定情報。 |
IsEnabled | boolean | 増分インベントリを有効にするかどうかを指定します。有効な値: true (有効) と false (無効)。値が true の場合、増分インベントリ機能が有効になり、親要素が false に設定されていても影響を受けません。親ノード: IncrementalInventory |
Schedule | コンテナ | 増分インベントリエクスポートのスケジュール。親ノード: IncrementalInventory |
Frequency | 正の整数 | 増分インベントリのエクスポート頻度 (秒単位)。システムは現在、600秒の固定期間を使用しています。各期間中に、システムは自動的にディレクトリプレフィックスを作成し、その期間内に生成された対応するマニフェストファイルと複数のCSVファイルを生成します。カスタムの頻度設定はサポートされていません。親ノード: Schedule |
OptionalFields | コンテナ | 増分インベントリに含める設定項目。親ノード: IncrementalInventory |
Field | string | 増分インベントリに含まれる設定項目。親ノード: OptionalFields |
増分インベントリレコードのフィールド
増分インベントリファイルのレコードには、次のフィールドが含まれます:
SequenceNumber: レコードのシリアル番号。各レコードのSequenceNumberは一意です。同じバケット内の同じオブジェクトのレコードはSequenceNumberでソートでき、ソートされたレコードは通常、時系列順になります。RecordType: イベントタイプ。有効な値:CREATE: 選択したプレフィックス配下で発生するすべてのアップロード操作 (Put、Post、Append、MultipartUpload、Copyなど)。UPDATE_METADATA: 選択したプレフィックス配下でのすべてのメタデータ更新。DELETE: 選択したプレフィックス配下でのオブジェクトのすべての削除操作 (DeleteObjectやDeleteMultipleObjectsなど)、バージョニングが有効になった後の削除マーカーの生成、およびライフサイクルルールによる削除。削除には、削除マーカーの作成と完全な削除が含まれます。完全な削除の場合、レコードにはコアフィールドのBucket、Key、SequenceNumber、RecordType、RecordTimestamp、VersionIdのみが保持され、他のすべての列はnullになります。
RecordTimestamp: レコードのタイムスタンプ。グリニッジ標準時 (GMT) で、ミリ秒単位の精度です。例:2024-08-25 18:08:01.024。Requester: リクエスターの Alibaba Cloud ID またはプリンシパルID。RequestId: リクエストの一意の識別子。SourceIp: リクエスターのソース IP アドレス。Key: バケット内のオブジェクトの URL エンコードされた名前。VersionId: オブジェクトのバージョンID。このフィールドは、設定されたインベントリ ルールがすべてのバージョンをエクスポートする場合にのみ表示されます。インベントリ ルールが設定されているバケットでバージョニングが有効になっていない場合、このフィールドは空になります。
インベントリ ルールが設定されているバケットでバージョニングが有効になっている場合、このフィールドにはオブジェクトの
VersionIdが表示されます。
IsDeleteMarker: オブジェクトのバージョンが削除マーカーであるかどうかを指定します。このフィールドは、設定されたインベントリ ルールがすべてのバージョンをエクスポートする場合にのみ表示されます。インベントリ ルールが設定されているバケットでバージョニングが有効になっていない場合、このフィールドのデフォルトは
falseです。インベントリ ルールが設定されているバケットでバージョニングが有効になっている場合、オブジェクトが削除マーカーである場合はこのフィールドは
trueになり、オブジェクトが削除マーカーでない場合はfalseになります。
Size: オブジェクトのサイズ。StorageClass: オブジェクトのストレージクラス。LastModifiedDate: オブジェクトの最終更新日時。ETag: オブジェクトの ETag。ETag はオブジェクトが生成されるときに作成され、オブジェクトのコンテンツを識別します。PutObjectAPI を使用して作成されたオブジェクトの場合、ETag はそのコンテンツのMD5ハッシュです。他のメソッドを使用して作成されたオブジェクトの場合、ETag は特定の計算ルールに基づいて生成された一意の値であり、そのコンテンツのMD5ハッシュではありません。
IsMultipartUploaded: オブジェクトがマルチパートアップロードを使用してアップロードされたかどうかを指定します。ObjectType: オブジェクトのタイプ。ObjectAcl: オブジェクトのアクセスコントロールリスト。Crc64: オブジェクトの CRC-64 値。EncryptionStatus: オブジェクトが暗号化されているかどうかを指定します。
例
リクエスト例
GET /?inventory&inventoryId=report1 HTTP/1.1レスポンス例
HTTP/1.1 200 OK
x-oss-request-id: 56594298207FB304438516F9
Date: Mon, 31 Oct 2016 12:00:00 GMT
Server: AliyunOSS
Content-Length: length
<?xml version="1.0" encoding="UTF-8"?>
<InventoryConfiguration>
<Id>report1</Id>
<IsEnabled>true</IsEnabled>
<Destination>
<OSSBucketDestination>
<Format>CSV</Format>
<AccountId>1000000000000000</AccountId>
<RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
<Bucket>acs:oss:::bucket_0001</Bucket>
<Prefix>prefix1</Prefix>
<Encryption>
<SSE-OSS/>
</Encryption>
</OSSBucketDestination>
</Destination>
<Schedule>
<Frequency>Daily</Frequency>
</Schedule>
<Filter>
<Prefix>myprefix/</Prefix>
</Filter>
<IncludedObjectVersions>All</IncludedObjectVersions>
<OptionalFields>
<Field>Size</Field>
<Field>LastModifiedDate</Field>
<Field>ETag</Field>
<Field>StorageClass</Field>
<Field>IsMultipartUploaded</Field>
<Field>EncryptionStatus</Field>
</OptionalFields>
</InventoryConfiguration>SDK
このAPIは、次のSDKでサポートされています:
ossutil CLI
GetBucketInventory API に対応する ossutil コマンドの詳細は、「get-bucket-inventory」をご参照ください。