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

Object Storage Service:ListObjectVersions (GetBucketVersions)

最終更新日:Feb 19, 2025

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

使用上の注意

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

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

  • ListObjectVersions (GetBucketVersions) オペレーションを呼び出すバケットに対して ロギングリアルタイムログクエリ を有効にすると、オペレーションの呼び出しによって生成されたログの operation フィールドの値は 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-markerdelimitermax-keys のパラメーターを指定できます。

パラメーター

タイプ

必須

説明

delimiter

文字列

いいえ

/

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

prefix をディレクトリ名に設定し、delimiter をスラッシュ (/) に設定すると、そのディレクトリ内のオブジェクトのみが返されます。ディレクトリ内のサブディレクトリの名前は、CommonPrefixes 要素で返されます。ただし、サブディレクトリ内のオブジェクトとディレクトリは一覧表示されません。

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

key-marker

文字列

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

example

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

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

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

version-id-marker

文字列

いいえ

CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****

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

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

有効な値: バージョン ID。

max-keys

文字列

いいえ

100

返すオブジェクトの最大数。

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

有効な値: 1 ~ 999。

デフォルト値: 100。

prefix

文字列

いいえ

fun

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

  • prefix の値の長さは 1,024 バイト未満である必要があります。

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

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

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

encoding-type

文字列

いいえ

URL

レスポンスのコンテンツのエンコーディングタイプ。

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

有効な値: URL。

重要

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

レスポンスパラメーター

パラメーター

タイプ

説明

ListVersionsResult

コンテナー

該当なし

ListObjectVersions (GetBucketVersions) オペレーションの結果を格納するコンテナー。

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

親ノード: なし

CommonPrefixes

コンテナー

該当なし

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

親ノード: ListVersionsResult

Delimiter

文字列

/

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

親ノード: ListVersionsResult

EncodingType

文字列

URL

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

親ノード: ListVersionsResult

IsTruncated

文字列

true

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

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

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

有効な値: true と false。

親ノード: ListVersionsResult

KeyMarker

文字列

example

ListObjectVersions (GetBucketVersions) オペレーションの開始点となるオブジェクトを示します。

親ノード: ListVersionsResult

VersionIdMarker

文字列

CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****

ListObjectVersions (GetBucketVersions) オペレーションの開始点となるバージョン。このパラメーターは KeyMarker と一緒に使用されます。

親ノード: ListVersionsResult

NextKeyMarker

文字列

test

リクエストのすべての結果が返されたわけではない場合、レスポンスに NextKeyMarker パラメーターが含まれ、次の ListObjectVersions (GetBucketVersions) リクエストの key-marker 値が示されます。

親ノード: ListVersionsResult

NextVersionIdMarker

文字列

CAEQGBiBgIC_jq7P9xYiIDRiZWJkNjY2Y2Q4NDQ5ZTI5ZGE5ODIxMTIyZThl****

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

親ノード: ListVersionsResult

MaxKeys

文字列

1000

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

親ノード: ListVersionsResult

Name

文字列

examplebucket-1250000000

バケットの名前。

親ノード: ListVersionsResult

Prefix

文字列

fun

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

親ノード: ListVersionsResult

Version

コンテナー

該当なし

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

親ノード: ListVersionsResult

DeleteMarker

コンテナー

該当なし

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

親ノード: ListVersionsResult

ETag

文字列

250F8A0AE989679A22926A875F0A2****

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

  • PutObject オペレーションを呼び出すことによってオブジェクトが作成された場合、オブジェクトの ETag はオブジェクトコンテンツの MD5 ハッシュです。

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

説明

オブジェクトの ETag は、オブジェクトコンテンツが変更されたかどうかを確認するためだけに使用できます。データの整合性を検証するには、オブジェクトの ETag ではなく、オブジェクトの MD5 ハッシュを使用することをお勧めします。

親ノード: ListVersionsResult.Version

Key

文字列

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) またはアーカイブに変換された時刻をクエリすることはできません。IA またはアーカイブの最小ストレージ期間が満たされているかどうかは、Last-Modified 時刻によって異なります。

親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker

VersionId

文字列

CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****

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

親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker

IsLatest

文字列

true

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

有効な値:

  • true

  • false

親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker

Size

文字列

93731

オブジェクトのサイズ。単位: バイト。

親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker

StorageClass

文字列

Standard

オブジェクトのストレージタイプ。

親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker

Owner

コンテナー

該当なし

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

親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker

DisplayName

文字列

12345125285864390

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

親ノード: ListVersionsResult.Version.Owner と ListVersionsResult.DeleteMarker.Owner

ID

文字列

1234512528586****

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

親ノード: ListVersionsResult.Version.Owner と ListVersionsResult.DeleteMarker.Owner

RestoreInfo

文字列

ongoing-request="true"

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

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

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

  • RestoreObject リクエストが送信され、復元が完了した場合、このレスポンスパラメーターの値は ongoing-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 という名前のオブジェクトには、作成時刻の降順で表示される 3 つのバージョン (111222、000123 (削除マーカー)、222333) があります。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.txtexampleobject3.txt というコールドアーカイブオブジェクトが含まれています。3 つのオブジェクトは次の状態です。

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

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

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

    リクエスト例

    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>

OSS SDK

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

ossutil

ListObjectVersions オペレーションに対応する ossutil コマンドについては、「list-object-versions」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

NoSuchBucket

404

リクエストされたバケットが存在しません。リクエストされたバケットの名前が命名規則に準拠しているかどうかを確認してください。

AccessDenied

403

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

InvalidArgument

400

  • max-keys の値が 0 未満または 1,000 より大きいです。

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