バケットのインベントリを設定します。
使用上の注意
インベントリを使用して、オブジェクトの数量、サイズ、ストレージクラス、暗号化ステータスなど、バケット内のオブジェクトに関する情報を取得できます。 バケットのインベントリを設定するときは、次の項目に注意してください。
PutBucketInventory権限を持つバケット所有者またはユーザーのみがPutBucketInventoryリクエストを開始できます。
バケットのインベントリを設定する前に、RAMロールを作成する必要があります。 RAMロールには、ソースバケットからすべてのオブジェクトを読み取り、ターゲットバケットにオブジェクトを書き込む権限が必要です。 初めてバケットインベントリ機能を使用する場合は、Object Storage Service (OSS) コンソールでインベントリを設定することを推奨します。 インベントリを設定すると、OSSリソースに対するすべての操作を実行する権限を持つRAMロールを取得できます。 詳細については、「バケットインベントリ」をご参照ください。
バケットには最大1,000のインベントリを設定できます。
インベントリを構成するソースバケットは、インベントリリストが保存されているターゲットバケットと同じリージョンにデプロイする必要があります。
リクエスト構文
リクエストヘッダーのinventoryIdパラメーターが必要です。 inventoryIdパラメーターの値は、Idリクエストパラメーターの値と同じである必要があります。
LastModifyBeginTimeStamp、LastModifyEndTimeStamp、LowerSizeBound、UpperSizeBound、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>ETag</Field>
<Field>StorageClass</Field>
<Field>IsMultipartUploaded</Field>
<Field>EncryptionStatus</Field>
</OptionalFields>
</InventoryConfiguration>
リクエスト要素
要素 | データ型 | 必須 | 例 | 説明 |
Id | String | 必須 | report1 | インベントリの名前。 名前の条件は次のとおりです。
|
IsEnabled | Boolean | 可 | true | バケットインベントリ機能を有効にするかどうかを指定します。 有効な値:
|
フィルター | Container | 任意 | N/A | オブジェクトのフィルタリングに使用されるプレフィックスを格納するコンテナー。 指定されたプレフィックスを名前に含むオブジェクトのみがインベントリに含まれます。 |
プレフィックス | 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 | オブジェクトのストレージクラス。 複数のストレージクラスを指定できます。 有効な値:
|
目的地 | Container | 可 | N/A | エクスポートされた在庫リストを格納するコンテナー。 |
OSSBucketDestination | Container | 可 | N/A | エクスポートされたインベントリリストが格納されているバケットに関する情報を格納するコンテナー。 親ノード: 宛先 |
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) 。 形式: 親ノード: OSSBucketDestination |
Bucket | String | 必須 | acs:oss ::: bucket_0001 | エクスポートされたインベントリリストが保存されているバケットの名前。 親ノード: OSSBucketDestination |
プレフィックス | String | 任意 | prefix1 / | エクスポートされたインベントリリストが格納されるパスのプレフィックス。 親ノード: OSSBucketDestination |
暗号化 | Container | 任意 | N/A | エクスポートされたインベントリリストの暗号化方法を格納するコンテナー。 有効な値:
親ノード: OSSBucketDestination 詳細については、「サーバー側の暗号化」をご参照ください。 |
SSE-OSS | Container | 任意 | N/A | SSE-OSS暗号化方式に関する情報を格納するコンテナー。 親ノード: 暗号化 |
SSE-KMS | Container | 任意 | N/A | SSE-KMS暗号化に使用されるCMKを格納するコンテナー。 親ノード: 暗号化 |
KeyId | String | 任意 | keyId | KMS管理キーのID。 親ノード: SSE-KMS |
スケジュール | Container | 可 | N/A | 在庫リストがエクスポートされる頻度に関する情報を格納するコンテナ。 |
周波数 | String | 必須 | 毎日 | 在庫リストがエクスポートされる頻度。 有効な値:
親ノード: スケジュール |
含まれるObjectVersions | String | 必須 | All | オブジェクトのバージョン情報をインベントリリストに含めるかどうかを指定します。 有効な値:
|
OptionalFields | Container | 任意 | N/A | インベントリリストの構成フィールドを格納するコンテナー。 |
フィールド | String | 任意 | サイズ | インベントリリストに含まれる設定フィールド。
|
レスポンスヘッダー
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>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 |
|
InventoryAlreadyExist | 409 | 設定するインベントリは既に存在します。 |