すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:PutBucketInventory

最終更新日:Dec 06, 2024

バケットのインベントリを設定します。

使用上の注意

インベントリを使用して、オブジェクトの数量、サイズ、ストレージクラス、暗号化ステータスなど、バケット内のオブジェクトに関する情報を取得できます。 バケットのインベントリを設定するときは、次の項目に注意してください。

  • PutBucketInventory権限を持つバケット所有者またはユーザーのみがPutBucketInventoryリクエストを開始できます。

  • バケットのインベントリを設定する前に、RAMロールを作成する必要があります。 RAMロールには、ソースバケットからすべてのオブジェクトを読み取り、ターゲットバケットにオブジェクトを書き込む権限が必要です。 初めてバケットインベントリ機能を使用する場合は、Object Storage Service (OSS) コンソールでインベントリを設定することを推奨します。 インベントリを設定すると、OSSリソースに対するすべての操作を実行する権限を持つRAMロールを取得できます。 詳細については、「バケットインベントリ」をご参照ください。

  • バケットには最大1,000のインベントリを設定できます。

  • インベントリを構成するソースバケットは、インベントリリストが保存されているターゲットバケットと同じリージョンにデプロイする必要があります。

リクエスト構文

重要
  • リクエストヘッダーのinventoryIdパラメーターが必要です。 inventoryIdパラメーターの値は、Idリクエストパラメーターの値と同じである必要があります。

  • LastModifyBeginTimeStampLastModifyEndTimeStampLowerSizeBoundUpperSizeBound、およびStorageClassオプションは、中国 (青島) 、中国 (フフホト) 、およびドイツ (フランクフルト) リージョンでのみ利用できます。

  PUT /?inventory&inventoryId=report1 HTTP/1.1
  Host: BucketName.oss-cn-hangzhou.aliyuncs.com
  Date: Mon, 31 Oct 2016 12:00:00 GMT
  Authorization: authorization string
  Content-Length: length

  <?xml version="1.0" encoding="UTF-8"?>
    <InventoryConfiguration>
     <Id>report1</Id>
     <IsEnabled>true</IsEnabled>
     <Filter>
           <Prefix>filterPrefix/</Prefix>
           <LastModifyBeginTimeStamp>1637883649</LastModifyBeginTimeStamp>
           <LastModifyEndTimeStamp>1638347592</LastModifyEndTimeStamp>
           <LowerSizeBound>1024</LowerSizeBound>
           <UpperSizeBound>1048576</UpperSizeBound>
           <StorageClass>Standard,IA</StorageClass>
     </Filter>
     <Destination>
        <OSSBucketDestination>
           <Format>CSV</Format>
           <AccountId>1000000000000000</AccountId>
           <RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
           <Bucket>acs:oss:::destination-bucket</Bucket>
           <Prefix>prefix1</Prefix>
           <Encryption>
              <SSE-KMS>
                 <KeyId>keyId</KeyId>
              </SSE-KMS>
           </Encryption>
        </OSSBucketDestination>
     </Destination>
     <Schedule>
        <Frequency>Daily</Frequency>
     </Schedule>
     <IncludedObjectVersions>All</IncludedObjectVersions>
     <OptionalFields>
        <Field>Size</Field>
        <Field>LastModifiedDate</Field>
        <Field>TransistionTime</Field>
        <Field>ETag</Field>
        <Field>StorageClass</Field>
        <Field>IsMultipartUploaded</Field>
        <Field>EncryptionStatus</Field>
     </OptionalFields>
  </InventoryConfiguration>

リクエスト要素

要素

必須 / 任意

説明

Id

String

report1

インベントリの名前。 名前の条件は以下の通りです。

  • 名前は、現在のバケット内でグローバルに一意である必要があります。

  • 名前の長さは192文字を超えることはできません。

IsEnabled

Boolean

true

バケットインベントリ機能を有効にするかどうかを指定します。

有効な値:

  • true

  • false

フィルター

コンテナー

不可

非該当

オブジェクトのフィルタリングに使用されるプレフィックスを格納するコンテナー。 指定されたプレフィックスを名前に含むオブジェクトのみがインベントリに含まれます。

プレフィックス

String

任意

写真 /

インベントリで指定されているプレフィックス。

親ノード: フィルター

LastModifyBeginTimeStamp

String

任意

1637883649

オブジェクトが最後に変更された時間範囲の開始。 単位は秒です。

有効な値: [1262275200, 253402271999]

LastModifyEndTimeStamp

String

任意

1638347592

オブジェクトが最後に変更された時間範囲の終了。 単位は秒です。

有効な値: [1262275200, 253402271999]

LowerSizeBound

String

任意

1024

指定されたオブジェクトの最小サイズ。 単位: B.

有効な値: [0 B, 48.8テラバイト]

UpperSizeBound

String

任意

1048576

指定されたオブジェクトの最大サイズ。 単位: B.

有効な値 :( 0 B、48.8テラバイト]

StorageClass

String

任意

スタンダード、IA

オブジェクトのストレージクラス。 複数のストレージクラスを指定できます。

有効な値:

  • 標準

  • IA

  • アーカイブ

  • ColdArchive

  • All

目的地

コンテナー

非該当

エクスポートされた在庫リストを格納するコンテナー。

OSSBucketDestination

コンテナー

非該当

エクスポートされたインベントリリストが格納されているバケットに関する情報を格納するコンテナー。

親ノード: 宛先

Format

String

CSV

エクスポートされた在庫リストの形式。 エクスポートされたインベントリリストは、GZIPを使用して圧縮されたCSVオブジェクトです。

有効値: CSV

親ノード: OSSBucketDestination

AccountId

String

100000000000000

バケット所有者がPutBucketInventory操作を呼び出す権限を付与されたAlibaba CloudアカウントのID。

親ノード: OSSBucketDestination

RoleArn

String

acs:ram::100000000000000:role/AliyunOSSRole

ソースバケットからすべてのオブジェクトを読み取り、ターゲットバケットにオブジェクトを書き込む権限を持つロールのAlibaba Cloud Resource Name (ARN) 。 形式: acs:ram::uid:role/rolename

親ノード: OSSBucketDestination

Bucket

String

acs:oss ::: bucket_0001

エクスポートされたインベントリリストが保存されているバケットの名前。

親ノード: OSSBucketDestination

プレフィックス

String

任意

prefix1 /

エクスポートされたインベントリリストが格納されるパスのプレフィックス。

親ノード: OSSBucketDestination

暗号化

コンテナー

不可

非該当

エクスポートされたインベントリリストの暗号化方法を格納するコンテナー。

有効な値:

  • SSE-OSS: OSS管理キーは、インベントリリストの暗号化と復号化に使用されます。

  • SSE-KMS: デフォルトの顧客マスターキー (CMK) またはkey Management Service (KMS) によって管理される指定されたCMKを使用して、インベントリリストを暗号化および復号化します。

親ノード: OSSBucketDestination

詳細については、「サーバー側の暗号化」をご参照ください。

SSE-OSS

コンテナー

不可

非該当

SSE-OSS暗号化方式に関する情報を格納するコンテナー。

親ノード: 暗号化

SSE-KMS

コンテナー

不可

非該当

SSE-KMS暗号化に使用されるCMKを格納するコンテナー。

親ノード: 暗号化

KeyId

String

任意

keyId

KMS管理キーのID。

親ノード: SSE-KMS

スケジュール

コンテナー

非該当

在庫リストがエクスポートされる頻度に関する情報を格納するコンテナ。

周波数

String

1 日

在庫リストがエクスポートされる頻度。

有効な値:

  • 毎日: 在庫リストは毎日エクスポートされます。

  • 毎週: 在庫リストは毎週エクスポートされます。

親ノード: スケジュール

含まれるObjectVersions

String

All

オブジェクトのバージョン情報をインベントリリストに含めるかどうかを指定します。

有効な値:

  • すべて: オブジェクトのすべてのバージョンに関する情報がエクスポートされます。

  • Current: オブジェクトの現在のバージョンに関する情報のみがエクスポートされます。

OptionalFields

コンテナー

不可

非該当

インベントリリストの構成フィールドを格納するコンテナー。

項目

String

任意

Size

インベントリリストに含まれる設定フィールド。

  • Size: オブジェクトのサイズ。

  • LastModifiedDate: オブジェクトの最後に変更された時刻。

  • ETag: オブジェクトのETag。 ETagは、オブジェクトのコンテンツを識別する。

  • StorageClass: オブジェクトのストレージクラス。

  • IsMultipartUploaded: マルチパートアップロードを使用してオブジェクトをアップロードするかどうかを指定します。

  • EncryptionStatus: オブジェクトの暗号化ステータス。

  • ObjectAcl: オブジェクトのアクセス制御リスト (ACL) 。

  • TaggingCount: タグの数。

  • ObjectType: オブジェクトの型。

  • Crc64: オブジェクトのCRC-64。

レスポンスヘッダー

PutBucketInventoryリクエストに対するレスポンスのすべてのヘッダーは、Content-LengthやDateなどの共通のレスポンスヘッダーです。 詳細については、「共通レスポンスヘッダー」をご参照ください。

  • リクエストの例

      PUT /?inventory&inventoryId=report1 HTTP/1.1
      Host: oss-example.oss-cn-hangzhou.aliyuncs.com
      Date: Mon, 31 Oct 2016 12:00:00 GMT
      Authorization: authorization string
      Content-Length: length
    
      <?xml version="1.0" encoding="UTF-8"?>
      <InventoryConfiguration>
         <Id>report1</Id>
         <IsEnabled>true</IsEnabled>
         <Filter>
             <Prefix>Pics/</Prefix>
             <LastModifyBeginTimeStamp>1637883649</LastModifyBeginTimeStamp>
             <LastModifyEndTimeStamp>1638347592</LastModifyEndTimeStamp>
             <LowerSizeBound>1024</LowerSizeBound>
             <UpperSizeBound>1048576</UpperSizeBound>
             <StorageClass>Standard,IA</StorageClass>
         </Filter>
         <Destination>
            <OSSBucketDestination>
              <Format>CSV</Format>
              <AccountId>100000000000000</AccountId>
              <RoleArn>acs:ram::100000000000000:role/AliyunOSSRole</RoleArn>
              <Bucket>acs:oss:::destbucket</Bucket>
              <Prefix>prefix1/</Prefix>
              <Encryption>
                 <SSE-KMS>
                    <KeyId>keyId</KeyId>
                 </SSE-KMS>
               </Encryption>
            </OSSBucketDestination>
         </Destination>
         <Schedule>
            <Frequency>Daily</Frequency>
         </Schedule>
         <IncludedObjectVersions>All</IncludedObjectVersions>
         <OptionalFields>
            <Field>Size</Field>
            <Field>LastModifiedDate</Field>
            <Field>TransistionTime</Field> 
            <Field>ETag</Field>
            <Field>StorageClass</Field>
            <Field>IsMultipartUploaded</Field>
            <Field>EncryptionStatus</Field>
         </OptionalFields>
      </InventoryConfiguration>
  • レスポンスの例

      HTTP/1.1 200 OK
      x-oss-request-id: 56594298207FB3044385****
      Date: Mon, 31 Oct 2016 12:00:00 GMT
      Content-Length: 0
      Server: AliyunOSS

エラーコード

エラーコード

HTTPステータスコード

説明

InvalidArgument

400

指定された1つ以上のパラメーターが無効です。

InventoryExceedLimit

400

設定されたインベントリの数が制限を超えています。

AccessDenied

403

  • 認証情報はPutBucketInventoryリクエストに含まれていません。

  • この操作を実行する権限がありません。

InventoryAlreadyExist

409

設定するインベントリは既に存在します。