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

Object Storage Service:ListObjectVersions (GetBucketVersions)

最終更新日:Oct 30, 2024

削除マーカーを含む、バケット内のすべてのオブジェクトのバージョンを一覧表示します。

使用上の注意

  • ListObjectVersions (GetBucketVersions) 操作を呼び出すと、削除マーカーを含むバケット内のすべてのバージョンのオブジェクトが返されます。 ListObjects (GetBucket) 操作を呼び出すと、バケット内のオブジェクトの現在のバージョン (削除マーカーを除く) が返されます。

  • ListObjectVersions (GetBucketVersions) 操作を呼び出すと、オブジェクトはアルファベット順に返されますが、各オブジェクトのバージョンは作成時間ごとに降順で返されます。

  • ListObjectVersions (GetBucketVersions) 操作を呼び出すバケットに対してロギングおよびリアルタイムログクエリを有効にした場合、操作を呼び出すことによって生成されるログの操作フィールドの値はGetBucketになります。

  • ListObjectVersions (GetBucketVersions) 操作を呼び出すと、PUTリクエストの数に基づいて課金されます。 詳細については、「API 操作呼び出し料金」をご参照ください。

リクエストの構造

GET /?versions HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

リクエストヘッダー

DescribeRegionsリクエストのすべてのヘッダーは、共通のリクエストヘッダーです。 詳細については、「共通リクエストヘッダー」をご参照ください。

リクエストパラメーター

GetBucketVersions (ListObjectVersions) 操作を呼び出すと、prefixkey-markerversion-id-markerdelimiter、およびmax-keysのパラメーターを指定して、返された結果をフィルタリングできます。

パラメーター

タイプ

必須

説明

区切り文字

String

任意

/

オブジェクトを名前でグループ化するために使用する文字。 リクエストでprefixとdelimiterを指定した場合、レスポンスにはCommonPrefixesが含まれます。 プレフィックスから次の区切り文字の出現までの同じ文字列を名前に含むオブジェクトは、CommonPrefixes内の単一の結果要素としてグループ化されます。

プレフィックスをディレクトリ名に設定し、区切り文字をスラッシュ (/) に設定すると、ディレクトリ内のオブジェクトのみが返されます。 ディレクトリ内のサブディレクトリの名前は、CommonPrefixes要素で返されます。 ただし、サブディレクトリ内のオブジェクトおよびディレクトリはリストされません。

デフォルトでは、このパラメータは空のままです。

キーマーカー

String

key-markerパラメーターは、version-id-markerパラメーターが指定されている場合に必要です。

example

key-markerパラメーターの値の後に名前がアルファベット順になっているオブジェクトが返されるように指定します。 このパラメーターは、version-id-markerと共に指定できます。

key-markerの値は1,024バイト未満である必要があります。

デフォルトでは、このパラメータは空のままです。

version-id-marker

String

任意

CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1 ****

key-markerで指定された名前のオブジェクトのversion-id-markerで指定されたバージョンより前に作成されたバージョンが、作成時刻までに降順で返されるように指定します。 既定では、このパラメーターが指定されていない場合、キーマーカーの値よりアルファベット順に大きい名前のオブジェクトの最新バージョンから結果が返されます。

デフォルトでは、このパラメータは空のままです。

有効値: バージョンID。

max-keys

String

任意

100

返されるオブジェクトの最大数。

返されたオブジェクトの数がmax-keysパラメーターの値を超える場合、次のListObjectVersions (GetBucketVersions) リクエストのマーカーとして、NextKeyMarkerパラメーターとNextVersionIdMarkerパラメーターが応答に含まれます。 NextKeyMarkerNextVersionIdMarkerの値がレスポンスに含まれます。

有効な値: 1 ~ 999

デフォルト値:100

プレフィックス

String

任意

楽しい

返されるオブジェクトの名前に含める必要があるプレフィックス。

  • プレフィックスの値は1,024バイト未満である必要があります。

  • リクエストでプレフィックスを指定した場合、返されるオブジェクトの名前にはプレフィックスが含まれます。

リクエストでプレフィックスをディレクトリ名に設定すると、ディレクトリ内のすべてのオブジェクトとサブディレクトリを含む、プレフィックスを名前に含むオブジェクトが一覧表示されます。

デフォルトでは、このパラメータは空のままです。

encoding-type

String

任意

URL

レスポンス内のコンテンツのエンコードタイプ。

デフォルトでは、このパラメータは空のままです。

有効値: URL。

重要

delimiter、marker、prefix、NextMarker、およびKeyの値はUTF-8エンコードされます。 delimiter、marker、prefix、NextMarker、またはKeyの値に、XML 1.0標準でサポートされていないコントロール文字が含まれている場合は、encoding-typeパラメーターを指定して、レスポンスの値をエンコードできます。

レスポンスパラメーター

パラメーター

タイプ

説明

ListVersionsResult

Container

非該当

ListObjectVersions (GetBucketVersions) 操作の結果を格納するコンテナー。

子ノード: Name、Prefix、Marker、MaxKeys、Delimiter、IsTruncated、NextMarker、Version、およびDeleteMarker

親ノード: なし

CommonPrefixes

String

非該当

リクエストで区切り文字パラメーターが指定されている場合、レスポンスにCommonPrefixesパラメーターが含まれていることを示します。 プレフィックスから次の区切り文字までの同じ文字列を名前に含むオブジェクトは、CommonPrefixes内の単一の結果要素としてグループ化されます。

親ノード: ListVersionsResult

Delimiter

String

/

オブジェクトを名前でグループ化するために使用される文字。 プレフィックスから次の区切り文字までの同じ文字列を名前に含むオブジェクトは、CommonPrefixesパラメーターで単一の結果要素としてグループ化されます。

親ノード: ListVersionsResult

EncodingType

String

URL

レスポンス内のコンテンツのエンコードタイプ。 リクエストでencoding-typeを指定すると、Delimiter、Marker、Prefix、NextMarker、およびKeyの値がレスポンスでエンコードされます。

親ノード: ListVersionsResult

IsTruncated

String

true

返された結果が切り捨てられるかどうかを示します。

  • true: リクエストに対してすべての結果が返されるわけではないことを示します。

  • false: リクエストに対してすべての結果が返されることを示します。

有効な値は、true および false です。

親ノード: ListVersionsResult

KeyMarker

String

example

ListObjectVersions (GetBucketVersions) 操作の開始元となるオブジェクトを示します。

親ノード: ListVersionsResult

VersionIdMarker

String

CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1 ****

ListObjectVersions (GetBucketVersions) 操作の開始元のバージョン。 このパラメーターはKeyMarkerと共に使用されます。

親ノード: ListVersionsResult

NextKeyMarker

String

test

リクエストに対してすべての結果が返されない場合、次のListObjectVersions (GetBucketVersions) リクエストのキーマーカー値を示すNextKeyMarkerパラメーターがレスポンスに含まれます。

親ノード: ListVersionsResult

NextVersionIdMarker

String

CAEQGBiBgIC_jq7P9xYiIDRiZWJkNjY2Y2Q4NDQ5ZTI5ZGE5ODIxMTIyZThl ****

リクエストに対してすべての結果が返されない場合は、次のListObjectVersions (GetBucketVersions) リクエストのversion-id-marker値を示すNextVersionIdMarkerパラメーターがレスポンスに含まれます。

親ノード: ListVersionsResult

MaxKeys

String

1000

レスポンスで返すことができるオブジェクトの最大数。

親ノード: ListVersionsResult

名前

String

examplebucket-1250000000

バケットの名前です。

親ノード: ListVersionsResult

Owner

Container

非該当

バケット所有者に関する情報を格納するコンテナー。

親ノード: ListVersionsResult

接頭辞

String

楽しい

リストされたオブジェクトの名前に含める必要があるプレフィックス。

親ノード: ListVersionsResult

バージョン

Container

非該当

削除マーカーを除く、オブジェクトのバージョンを格納するコンテナー。

親ノード: ListVersionsResult

DeleteMarker

Container

非該当

削除マーカーを格納するコンテナー。

親ノード: ListVersionsResult

ETag

String

250F8A0AE989679A22926A875F0A2 ****

オブジェクトの作成時に生成されるETag。 ETagは、オブジェクトのコンテンツを識別するために使用されます。

  • PutObject操作を呼び出してオブジェクトが作成された場合、オブジェクトのETagはオブジェクトコンテンツのMD5ハッシュになります。

  • オブジェクトが別のメソッドを使用して作成された場合、ETagはオブジェクトコンテンツのMD5ハッシュではなく、特定のルールに基づいて計算される一意の値です。

説明

オブジェクトのETagは、オブジェクトの内容が変更されたかどうかを確認するためにのみ使用できます。 データの整合性を検証するために、オブジェクトのETagの代わりにオブジェクトのMD5ハッシュを使用することを推奨します。

親ノード: ListVersionsResult.Version

Key

String

example

オブジェクト名

親ノード: ListVersionsResult.VersionおよびListVersionsResult.DeleteMarker

Lastmodified

時間

2019-04-09T07: 27,28. 000Z

返されたオブジェクトが最後に変更された時刻。

説明
  • IAオブジェクトの最小保存期間 (30日) は、オブジェクトの最後に変更された時刻に基づいて計算されます。 Last-Modifiedヘッダーの値が現在の時刻より30日前の場合、最小保存期間未満で保存されたIAオブジェクトのストレージ使用量に対しては課金されません。

  • アーカイブオブジェクトの最小保存期間 (60日) は、オブジェクトの最終変更時刻に基づいて計算されます。 Last-Modifiedヘッダーの値が現在の時刻より60日前の場合、最小保存期間未満で保存されたアーカイブオブジェクトのストレージ使用量に対しては課金されません。

親ノード: ListVersionsResult.VersionおよびListVersionsResult.DeleteMarker

TransitionTime

時間

2024-04-23T07:21:42.000Z

ライフサイクルルールに基づいて、返されたオブジェクトのストレージクラスがコールドアーカイブまたはディープコールドアーカイブに変更された時刻。

説明
  • オブジェクトのストレージクラスが変換されてから180日を超えてオブジェクトが保存された場合、最小保存期間未満で保存されたコールドアーカイブまたはディープコールドアーカイブオブジェクトのストレージ使用量に対しては課金されません。 オブジェクトのストレージクラスが変換されてから180日以内にオブジェクトが保存された場合、最小保存期間未満で保存されたコールドアーカイブまたはディープコールドアーカイブオブジェクトのストレージ使用量に対して課金されます。

  • このヘッダーを使用して、ライフサイクルルールに基づいてオブジェクトのストレージクラスが低頻度アクセス (IA) またはアーカイブに変換された時刻を照会することはできません。 Last-Modifiedヘッダーの値に基づいて、オブジェクトが最小保存期間を超えて保存されているかどうかを判断できます。

親ノード: ListVersionsResult.VersionおよびListVersionsResult.DeleteMarker

VersionId

String

CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN ****

オブジェクトのバージョンID。

親ノード: ListVersionsResult.VersionおよびListVersionsResult.DeleteMarker

IsLatest

String

true

バージョンが現在のバージョンかどうかを示します。

有効な値:

  • true

  • false

親ノード: ListVersionsResult.VersionおよびListVersionsResult.DeleteMarker

サイズ

String

93731

オブジェクトのサイズ。 単位はバイトです。

親ノード: ListVersionsResult.VersionおよびListVersionsResult.DeleteMarker

StorageClass

String

標準

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

親ノード: ListVersionsResult.VersionおよびListVersionsResult.DeleteMarker

DisplayName

String

12345125285864390

オブジェクト所有者の名前。

親ノード: ListVersionsResult.Version.OwnerおよびListVersionsResult.DeleteMarker.Owner

ID

String

1234512528586 ****

バケット所有者のユーザーID。

親ノード: ListVersionsResult.Version.OwnerおよびListVersionsResult.DeleteMarker.Owner

RestoreInfo

String

継続的-リクエスト="true"

オブジェクトの復元ステータス。

  • RestoreObjectリクエストが送信されなかった場合、またはリクエストの有効期限が切れた場合、このフィールドはレスポンスに含まれません。

  • RestoreObjectリクエストが送信されたが、復元が完了していない場合、このレスポンスパラメーターの値は継続-リクエスト="true" です。

  • RestoreObjectリクエストが送信され、復元が完了した場合、このレスポンスパラメーターの値は、cending-request="false", expiry-date="Thu, 24 Sep 2020 12:40:33 GMT" 形式になります。expiry-dateフィールドは、復元されたオブジェクトを読み取ることができるまでの時間を示します。

ListObjectVersions (GetBucketVersions) リクエストへのレスポンスのx-oss-request-idContent-Typeなどの共通レスポンスヘッダーの詳細については、「共通レスポンスヘッダー」をご参照ください。

  • バージョン管理されていないバケット内のオブジェクトのバージョンを一覧表示する

    リクエストの例

    GET /?versions HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 07:27:48 GMT
    Authorization: OSS qn6q**************:77Dv****************

    通常のレスポンス例

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 1262
    Connection: keep-alive
    Date: Thu, Tue, 09 Apr 2019 07:27:48 GMT
    Server: AliyunOSS
    x-oss-request-id: 534B371674E88A4D8906****
    
    <ListVersionsResult>
        <Name>examplebucket-1250000000</Name>
        <Prefix/>
        <KeyMarker/>
        <VersionIdMarker/>
        <MaxKeys>1000</MaxKeys>
        <IsTruncated>false</IsTruncated>
        <Version>
            <Key>example-object-1.jpg</Key>
            <VersionId/>
            <IsLatest>true</IsLatest>
            <LastModified>2019-08-5T12:03:10.000Z</LastModified>    
            <ETag>5B3C1A2E053D763E1B669CC607C5A0FE1****</ETag>
            <Size>20</Size>
            <StorageClass>STANDARD</StorageClass>
            <Owner>
                <ID>1250000000</ID>
                <DisplayName>1250000000</DisplayName>
            </Owner>
            <TransitionTime>2024-04-23T07:21:42.000Z</TransitionTime>
        </Version>
        <Version>
            <Key>example-object-2.jpg</Key>
            <VersionId/>
            <IsLatest>true</IsLatest>
            <LastModified>2019-08-9T12:03:09.000Z</LastModified>
            <ETag>5B3C1A2E053D763E1B002CC607C5A0FE1****</ETag>
            <Size>20</Size>
            <StorageClass>STANDARD</StorageClass>
            <Owner>
                <ID>1250000000</ID>
                <DisplayName>1250000000</DisplayName>
            </Owner>
        </Version>
        <Version>
            <Key>example-object-3.jpg</Key>
            <VersionId/>
            <IsLatest>true</IsLatest>
            <LastModified>2019-08-10T12:03:08.000Z</LastModified>
            <ETag>4B3F1A2E053D763E1B002CC607C5AGTRF****</ETag>
            <Size>20</Size>
            <StorageClass>STANDARD</StorageClass>
            <Owner>
                <ID>1250000000</ID>
                <DisplayName>1250000000</DisplayName>
            </Owner>
        </Version>
    </ListVersionsResult>
  • バージョン管理が有効なバケット内のオブジェクトのバージョンを一覧表示する

    この例では、exampleとpic.jpgという名前の2つのオブジェクトがoss-exampleという名前のバケットに格納されています。 exampleという名前のオブジェクトには、作成時間ごとに111222、000123 (削除マーカー) 、222333の3つのバージョンがあります。 pic.jpgという名前のオブジェクトには、IDが232323のバージョンが1つだけあります。

    key-markerをexampleに、version-id-markerを111222に設定した場合、exampleの000123、exampleの222333、pic.jpgの232323の3つのバージョンが順番に返されます。

    リクエストの例

    GET /?versions&key-marker=example&version-id-marker=CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 07:27:48 GMT
    Authorization: OSS qn6q**************:77Dv****************

    正常に処理された場合のレスポンス例

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC4974B7AEADE01700****
    Date: Tue, 09 Apr 2019 07:27:48 GMT
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    <?xml version="1.0" encoding="UTF-8"?>
    <ListVersionsResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <Name>oss-example</Name>
        <Prefix></Prefix>
        <KeyMarker>example</KeyMarker>
        <VersionIdMarker>CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****</VersionIdMarker>
        <MaxKeys>100</MaxKeys>
        <Delimiter></Delimiter>
        <IsTruncated>false</IsTruncated>
        <DeleteMarker>
            <Key>example</Key>
            <VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId>
            <IsLatest>false</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <Owner>
              <ID>1234512528586****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
        </DeleteMarker>
        <Version>
            <Key>example</Key>
            <VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****</VersionId>
            <IsLatest>false</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <ETag>"250F8A0AE989679A22926A875F0A2****"</ETag>
            <Type>Normal</Type>
            <Size>93731</Size>
            <StorageClass>Standard</StorageClass>
            <Owner>
              <ID>1234512528586****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
        </Version>
        <Version>
            <Key>pic.jpg</Key>
            <VersionId>CAEQMxiBgMCZov2D0BYiIDY4MDllOTc2YmY5MjQxMzdiOGI3OTlhNTU0ODIx****</VersionId>
            <IsLatest>true</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <ETag>"3663F7B0B9D3153F884C821E7CF4****"</ETag>
            <Type>Normal</Type>
            <Size>574768</Size>
            <StorageClass>Standard</StorageClass>
            <Owner>
              <ID>1234512528586****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
        </Version>
    </ListVersionsResult>
  • 要求されたバケットに保存されているアーカイブオブジェクトとコールドアーカイブオブジェクト

    この例では、examplebucketバケットには、exampleobject1.txtexampleobject2.txt、およびexampleobject3.txtのコールドアーカイブオブジェクトが含まれています。 3つのオブジェクトの状態は次のとおりです。

    • exampleobject1.txtを復元するRestoreObjectリクエストが送信されないか、オブジェクトを復元するために送信されたRestoreObjectリクエストが期限切れになります。

    • RestoreObjectリクエストがexampleobject2.txtを復元するために送信され、オブジェクトが復元されます。

    • RestoreObjectリクエストがexampleobject3.txtを復元するために送信され、オブジェクトが復元されます。

    リクエストの例

    GET / HTTP/1.1
    Host: examplebucket.oss-cn-hangzhou.aliyuncs.com
    Date: Fri, 24 Feb 2012 08:43:27 GMT
    Authorization: OSS qn6q**************:77Dv****************

    正常に処理された場合のレスポンス例

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC4974B7AEADE01700****
    Date: Tue, 09 Apr 2019 07:27:48 GMT
    Content-Type: application/xml
    Connection: keep-alive
    Server: AliyunOSS
    <?xml version="1.0" encoding="UTF-8"?>
    <ListVersionsResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <Name>oss-example</Name>
        <Prefix></Prefix>
        <KeyMarker>example</KeyMarker>
        <VersionIdMarker>CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****</VersionIdMarker>
        <MaxKeys>100</MaxKeys>
        <Delimiter></Delimiter>
        <IsTruncated>false</IsTruncated>
        <Version>
            <Key>exampleobject1.txt</Key>
            <VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId>
            <IsLatest>false</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <Owner>
              <ID>1234512528586****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
         </Version>
        <Version>
            <Key>exampleobject2.txt</Key>
            <VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****</VersionId>
            <IsLatest>false</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <ETag>"250F8A0AE989679A22926A875F0A2****"</ETag>
            <Type>Normal</Type>
            <Size>93731</Size>
            <StorageClass>Standard</StorageClass>
            <RestoreInfo>ongoing-request="true"</RestoreInfo>
            <Owner>
              <ID>1234512528586****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
         </Version>
        <Version>
            <Key>exampleobject3.txt</Key>
            <VersionId>CAEQMxiBgMCZov2D0BYiIDY4MDllOTc2YmY5MjQxMzdiOGI3OTlhNTU0ODIx****</VersionId>
            <IsLatest>true</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <ETag>"3663F7B0B9D3153F884C821E7CF4****"</ETag>
            <Type>Normal</Type>
            <Size>574768</Size>
            <StorageClass>Standard</StorageClass>
            <RestoreInfo>ongoing-request="false", expiry-date="Thr, 24 Mon 2020 12:40:33 GMT"</RestoreInfo>
            <Owner>
              <ID>1234512528586****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
         </Version>
    </ListVersionsResult>

SDK

次のプログラミング言語のOSS SDKを使用して、ListObjectVersions (GetBucketVersions) 操作を呼び出すことができます。

エラーコード

エラーコード

HTTPステータスコード

説明

NoSuchBucket

404

要求されたバケットが存在しません。 要求されたバケットの名前が命名規則に準拠しているかどうかを確認します。

AccessDenied

403

バケットにアクセスする権限がありません。 バケットにアクセスできるのは、oss:ListObjectVersions権限が付与されたバケット所有者とRAMユーザーだけです。

InvalidArgument

400

  • max-keysの値は0より小さいか、または1,000より大きい。

  • prefix、marker、またはdelimiterの値の長さが無効です。