バケットのインベントリを構成します。
注意事項
バケットオーナーまたは
oss:PutBucketInventory権限を持つ Resource Access Management (RAM) ユーザーのみが、インベントリールールを構成できます。インベントリを構成する前に、インベントリを構成するバケット内のすべてのオブジェクトにアクセスし、インベントリリストを保存するバケットにデータを書き込む権限を持つ RAM ロールがあることを確認してください。バケットインベントリ機能を初めて使用する場合は、Object Storage Service (OSS) コンソールでインベントリを構成することを推奨します。インベントリを構成した後、OSS リソースに対するすべての操作を実行する権限を持つ RAM ロールを取得できます。インベントリの構成に必要な RAM ロールの権限の詳細については、「バケットインベントリ」をご参照ください。
1 つのバケットに対して最大 1,000 個のインベントリを構成できます。
インベントリリストを保存するバケットは、インベントリを構成するバケットと同じリージョンにある必要があります。
増分インベントリ機能を使用するには、Technical Support にお問い合わせいただき、アクセスをリクエストしてください。この機能は現在、メキシコリージョンでのみ利用可能です。
コマンド構文
ossutil api put-bucket-inventory --bucket value --inventory-id value --inventory-configuration value [flags]パラメーター | タイプ | 説明 |
--bucket | string | バケットの名前。 |
--inventory-configuration | string | ストレージチェックリストの構成情報。 |
--inventory-id | string | チェックリストタスクの ID。 |
put-bucket-inventory コマンドは、PutBucketInventory コマンドと同等です。API 操作の詳細については、「PutBucketInventory」をご参照ください。
--inventory-configuration
--inventory-configuration パラメーターは、XML 形式と JSON 形式をサポートしています。パラメーターの値が "file://" で始まる場合、構成は指定されたファイルからロードされます。
XML 形式:
<InventoryConfiguration> <Id>string</Id> <IsEnabled>boolean</IsEnabled> <Destination> <OSSBucketDestination> <Bucket>string</Bucket> <Prefix>string</Prefix> <Encryption> <SSE-OSS> </SSE-OSS> <SSE-KMS> <KeyId>string</KeyId> </SSE-KMS> </Encryption> <Format>string</Format> <AccountId>string</AccountId> <RoleArn>string</RoleArn> </OSSBucketDestination> </Destination> <Schedule> <Frequency>string</Frequency> </Schedule> <Filter> <Prefix>string</Prefix> </Filter> <IncludedObjectVersions>string</IncludedObjectVersions> <OptionalFields> <Field>string</Field> ... </OptionalFields> <IncrementalInventory> <IsEnabled>boolean</IsEnabled> <Schedule> <Frequency>integer</Frequency> </Schedule> <OptionalFields> <Field>string</Field> ... </OptionalFields> </IncrementalInventory> </InventoryConfiguration>JSON 形式:
[ { "Id": "string", "IsEnabled": boolean, "Destination": { "OSSBucketDestination": { "Format": "string", "AccountId": "string", "RoleArn": "string", "Bucket": "string", "Prefix": "string", "Encryption": { "SSE-OSS": { }, "SSE-KMS": { "KeyId": "string" } } } }, "Schedule": { "Frequency": "string" }, "Filter": { "Prefix": "string" }, "IncludedObjectVersions": "string", "OptionalFields": { "Field": [ "string", ... ] }, "IncrementalInventory": { "IsEnabled": "boolean", "Schedule": { "Frequency": "integer" }, "OptionalFields": { "Field": [ "string", ... ] } } ]
サポートされているグローバルコマンドラインオプションの詳細については、「コマンドラインオプション」をご参照ください。
例
インベントリールールの構成
次の例は、report1 という名前のインベントリールールを examplebucket という名前のバケットに構成する方法を示しています。
XML 構成ファイルを使用する (この例では inventory-configuration.xml)
<?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>コマンド例:
ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration file://inventory-configuration.xmlJSON 構成ファイルを使用する (この例では inventory-configuration.json)
{ "Id": "report1", "IsEnabled": "true", "Filter": { "Prefix": "Pics/", "LastModifyBeginTimeStamp": "1637883649", "LastModifyEndTimeStamp": "1638347592", "LowerSizeBound": "1024", "UpperSizeBound": "1048576", "StorageClass": "Standard,IA" }, "Destination": { "OSSBucketDestination": { "Format": "CSV", "AccountId": "100000000000000", "RoleArn": "acs:ram::100000000000000:role/AliyunOSSRole", "Bucket": "acs:oss:::destbucket", "Prefix": "prefix1/", "Encryption": { "SSE-KMS": { "KeyId": "keyId" } } } }, "Schedule": { "Frequency": "Daily" }, "IncludedObjectVersions": "All", "OptionalFields": { "Field": [ "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus" ] } }コマンド例:
ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration file://inventory-configuration.jsonコマンドラインで JSON パラメーターを使用する
ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration "{\"Id\":\"report1\",\"IsEnabled\":\"true\",\"Filter\":{\"Prefix\":\"Pics/\",\"LastModifyBeginTimeStamp\":\"1637883649\",\"LastModifyEndTimeStamp\":\"1638347592\",\"LowerSizeBound\":\"1024\",\"UpperSizeBound\":\"1048576\",\"StorageClass\":\"Standard,IA\"},\"Destination\":{\"OSSBucketDestination\":{\"Format\":\"CSV\",\"AccountId\":\"100000000000000\",\"RoleArn\":\"acs:ram::100000000000000:role/AliyunOSSRole\",\"Bucket\":\"acs:oss:::destbucket\",\"Prefix\":\"prefix1/\",\"Encryption\":{\"SSE-KMS\":{\"KeyId\":\"keyId\"}}}},\"Schedule\":{\"Frequency\":\"Daily\"},\"IncludedObjectVersions\":\"All\",\"OptionalFields\":{\"Field\":[\"Size\",\"LastModifiedDate\",\"ETag\",\"StorageClass\",\"IsMultipartUploaded\",\"EncryptionStatus\"]}}"
増分インベントリールールの構成
次の例は、report1 という名前のインベントリールールを examplebucket バケットに構成する方法を示しています。
XML 構成ファイルを使用する。次のコードは inventory-configuration.xml の内容を示しています。
<?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>Report-1</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>test</Prefix> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>12xxxxxx29</AccountId> <RoleArn>acs:ram::12xxxxxx29:role/bucket-inventory-role</RoleArn> <Bucket>acs:oss:::test-inc-bi-bj</Bucket> <Prefix>Report-1</Prefix> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Weekly</Frequency> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>StorageClass</Field> </OptionalFields> <IncrementalInventory> <IsEnabled>true</IsEnabled> <Schedule> <Frequency>600</Frequency> </Schedule> <OptionalFields> <Field>SequenceNumber</Field> <Field>RecordType</Field> <Field>RecordTimestamp</Field> <Field>Requester</Field> <Field>RequestId</Field> <Field>SourceIp</Field> <Field>Size</Field> <Field>StorageClass</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>IsMultipartUploaded</Field> <Field>ObjectType</Field> <Field>ObjectAcl</Field> <Field>Crc64</Field> <Field>EncryptionStatus</Field> </OptionalFields> </IncrementalInventory> </InventoryConfiguration>コマンド例:
ossutil api put-bucket-inventory --bucket examplebucket --inventory-id report1 --inventory-configuration file://inventory-configuration.xml