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

Object Storage Service:inventory (バケットインベントリの設定)

最終更新日:Dec 20, 2023

バケットインベントリ機能を使用して、オブジェクトの数、サイズ、ストレージクラス、暗号化状態など、バケット内の特定のオブジェクトに関する情報をエクスポートできます。 多数のオブジェクトを一覧表示するには、GetBucket (ListObjects) 操作の代わりにバケットインベントリ機能を使用することを推奨します。 このトピックでは、inventoryコマンドを実行してバケットのインベントリを追加、照会、一覧表示、または削除する方法について説明します。

説明
  • このトピックのサンプルコマンドラインは、64ビットLinuxシステムに基づいています。 他のシステムの場合は、を交換します。対応するバイナリ名を持つコマンドの /ossutil64。 詳細については、「ossutilの使用を開始する」をご参照ください。

  • バケットインベントリ機能の詳細については、「バケットインベントリ」をご参照ください。

在庫を追加する

バケットのインベントリを追加するには、次の手順を実行します。

  1. Resource Access Management (RAM) ロールを作成し、ソースバケット内のすべてのオブジェクトを読み取り、インベントリリストが生成される宛先バケットにオブジェクトを書き込むようにロールに権限を付与します。 RAMロールの作成方法の詳細については、「信頼できるAlibaba CloudサービスのRAMロールの作成」をご参照ください。

  2. ローカルファイルを作成し、ファイル内のXML形式でインベントリを設定します。

  3. ossutilを使用して、ローカルファイルからインベントリを読み取り、指定されたバケットにインベントリを追加します。

  • 構文

    . /ossutil64 inventory -- メソッドput oss:// bucketname local_xml_file

    下表に、各パラメーターを説明します。

    パラメーター

    説明

    bucketname

    インベントリを追加するバケットの名前。

    local_xml_ファイル

    インベントリが構成されているローカルファイルの名前。 例: localfile.xml

    1. ローカルコンピューターにlocalfile.xmlという名前のファイルを作成し、そのファイルに異なるインベントリを書き込みます。

      inventorytestという名前のインベントリの例を次に示します。 このインベントリに基づいて、オブジェクトのストレージクラス、最終更新日、マルチパートアップロードステータスなど、destbucketという名前のバケット内のすべてのオブジェクトに関する情報がエクスポートされます。 エクスポートされたインベントリリストは、AES256アルゴリズムを使用して暗号化されます。

      <?xml version="1.0" encoding="UTF-8"?>
        <InventoryConfiguration>
            <Id>inventorytest</Id>
            <IsEnabled>true</IsEnabled>
            <フィルター>
              <Prefix>dir/</Prefix>
            </フィルター>
            <宛先>
                <OSSBucketDestination>
                    <フォーマット> CSV</フォーマット>
                    <AccountId>1746495857602745</AccountId>
                    <RoleArn>acs:ram::174649585760 ****:role/AliyunOSSRole</RoleArn>
                    <Bucket>acs:oss :: destbucket</Bucket>
                    <暗号化>
                        <SSE-OSS></SSE-OSS>
                    </暗号化>
                </OSSBucketDestination>
            </宛先>
            <スケジュール>
                <Frequency> ウィークリー </Frequency>
            </スケジュール>
            <IncludedObjectVersions> すべての </IncludedObjectVersions>
            <OptionalFields>
                <フィールド> LastModifiedDate</フィールド>
                <Field>StorageClass</Field>
                <Field>IsMultipartUploaded</Field>
                <フィールド> ETag</フィールド>
                <Field>EncryptionStatus</Field>
                <フィールド> サイズ </フィールド>
            </OptionalFields>
        </InventoryConfiguration> 
      重要

      バケットに複数のインベントリを追加できます。 在庫は、それらのIDによって一意に識別される。 追加するインベントリのIDが既存のインベントリのIDと同じ場合、HTTPステータスコード409が返されます。

    2. examplebucketという名前のバケットのインベントリを追加します。

      . /ossutil64 inventory -- メソッドput oss:// examplebucket localfile.xml

      examplebucketにインベントリが追加された場合、同様の出力が表示されます。

      0.299514経過

バケット用に構成された指定されたインベントリの照会

  • 構文

    . /ossutil64 inventory -- method get oss:// bucketname inventory_id [-- local_xml_file ]

    下表に、各パラメーターを説明します。

    パラメーター

    説明

    bucketname

    インベントリを照会するバケットの名前。

    inventory_id

    クエリするインベントリの名前。

    local_xml_ファイル

    取得したインベントリの保存に使用されるローカルファイルの名前。 例: localfile.txt このパラメーターを指定しない場合、取得したインベントリはローカルファイルに格納されずに表示されます。

  • . /ossutil64 inventory -- メソッドget oss:// examplebucket inventorytest localfile.txt

    examplebucketという名前のバケットにinventorytestという名前のインベントリが設定され、インベントリがlocalfile.txtという名前のローカルファイルに書き込まれると、同様の出力が表示されます。

    0.212407経過

バケットに設定されたすべてのインベントリルールの照会

  • 構文

    . /ossutil64 inventory -- method list oss:// bucketname [-- local_xml_file ] [-- marker <value>]

    下表に、各パラメーターを説明します。

    パラメーター

    説明

    bucketname

    インベントリを照会するバケットの名前。

    local_xml_ファイル

    取得したインベントリの格納に使用されるローカルXMLファイルの名前。 このパラメーターを指定しない場合、取得したインベントリはローカルファイルに格納されずに表示されます。

    マーカー

    インベントリのフィルタリング条件。 指定されたプレフィックスを名前に含むオブジェクトに対してのみ、インベントリリストが生成されます。 このパラメーターを指定しない場合、バケット内のすべてのオブジェクトに対してインベントリリストが生成されます。

  • . /ossutil64 inventory -- メソッドリストoss:// examplebucket localfile.txt dest

    examplebucketという名前のバケットに設定され、destプレフィックスを含む名前のオブジェクトに適用されるすべてのインベントリが取得され、localfile.txtという名前のローカルファイルに書き込まれると、同様の出力が表示されます。

    0.216897経過

バケットの指定されたインベントリを削除する

  • 構文

    . /ossutil64 inventory -- メソッドdelete oss:// bucketname inventory_id

    下表に、各パラメーターを説明します。

    パラメーター

    説明

    bucketname

    インベントリを削除するバケットの名前。

    inventory_id

    削除するインベントリの名前。

  • . /ossutil64 inventory -- メソッドdelete oss:// examplebucket inventorytest

    examplebucketという名前のバケットに対してinventorytestという名前のインベントリを削除すると、同様の出力が表示されます。

    0.212407経過

一般的なオプション

ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKeyシークレットを指定します。

たとえば、次のコマンドを実行して、中国 (杭州) リージョンにあり、別のAlibabaクラウドアカウントが所有するexamplebucketという名前のバケットのインベントリを設定できます。

. /ossutil64 inventory -- メソッドput oss:// examplebucket local_xml_file -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****

同期コマンドに使用できるその他の一般的なオプションの詳細については、「オプションの表示」をご参照ください。