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

Object Storage Service:ListObjectVersions (GetBucketVersions)

最終更新日:Feb 22, 2024

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

使用上の注意

  • ListObjectVersions (GetBucketVersions) 要求の応答では、削除マーカーを含む、バケット内のすべてのバージョンのオブジェクトが返されます。 ListObjects (GetBucket) 要求の応答では、バケット内のオブジェクトの現在のバージョン (削除マーカーを除く) が返されます。

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

  • LoggingおよびReal-time log queryを有効にした場合、ListObjectVersions (GetBucketVersions) 操作を呼び出して生成されたアクセスログの操作フィールドはGetBucketです。

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

リクエスト構文

GET /? バージョンHTTP/1.1
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
日付: GMT日付
権限付与: SignatureValue 

リクエストヘッダー

このリクエストには、共通リクエストヘッダーのみが含まれます。 詳細については、「共通HTTPヘッダー」をご参照ください。

リクエストパラメーター

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

パラメーター

データ型

必須

説明

区切り文字

String

任意

/

オブジェクトを名前でグループ化するために使用する文字。 リクエストで区切り文字パラメーターを指定した場合、レスポンスには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 ~ 1000

デフォルト値:100

プレフィックス

String

任意

楽しい

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

  • prefixパラメーターの値は、長さが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

N/A

ListObjectVersions (GetBucketVersions) リクエストの結果を格納するコンテナー。

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

親ノード: なし

CommonPrefixes

String

N/A

デリミタパラメーターがリクエストで指定されている場合、レスポンスには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

N/A

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

親ノード: ListVersionsResult

接頭辞

String

楽しい

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

親ノード: ListVersionsResult

Version

Container

N/A

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

親ノード: ListVersionsResult

DeleteMarker

Container

N/A

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

親ノード: 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

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

親ノード: 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リクエストが送信され、オブジェクトがまだ復元されている場合、返されるRestoreInfo値はcending-request="true" です。

  • RestoreObjectリクエストが送信され、オブジェクトが復元された場合、返されるRestoreInfo値の形式は継続-リクエスト="false", expiry-date="Thu, 24 Sep 2020 12:40:33 GMT" です。 返されたRestoreInfo値のexpiry-dateフィールドは、復元されたオブジェクトを読み取ることができるまでの時間を示します。

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

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

    リクエストの例

    GET /? バージョンHTTP/1.1
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    日付: 4月2019日火曜日07:27:48 GMT
    承認: OSS ami4tq0x76ov9cu:WFx4 **** + e7Rc0jawCsh7hlk **** 

    レスポンスの例

    HTTP/1.1 200 OK
    Content-Type: application/xml
    コンテンツ-長さ: 1262
    接続: キープアライブ
    日付: 木曜日、火曜日、4月2019日07:27:48 GMT
    サーバー: AliyunOSS
    x-oss-request-id: 534B371674E88A4D8906 ****
    
    <ListVersionsResult>
        <名前> examplebucket-1250000000</名前>
        <プレフィックス />
        <KeyMarker/>
        <VersionIdMarker/>
        <MaxKeys>1000</MaxKeys>
        <IsTruncated>false</IsTruncated>
        <バージョン>
            <キー> example-object-1.jpg</キー>
            <VersionId/>
            <IsLatest>true</IsLatest>
            <LastModified>2019-08-5T12:03:10.000Z</LastModified>
            <ETag>5B3C1A2E053D763E1B669CC607C5A0FE1 ****</ETag>
            <サイズ> 20</サイズ>
            <StorageClass> 標準 </StorageClass>
            <Owner>
                <ID>1250000000</ID>
                <DisplayName>1250000000</DisplayName>
            </Owner>
        </バージョン>
        <バージョン>
            <キー> example-object-2.jpg</キー>
            <VersionId/>
            <IsLatest>true</IsLatest>
            <LastModified>2019-08-9T12:03:09.000Z</LastModified>
            <ETag>5B3C1A2E053D763E1B002CC607C5A0FE1 ****</ETag>
            <サイズ> 20</サイズ>
            <StorageClass> 標準 </StorageClass>
            <Owner>
                <ID>1250000000</ID>
                <DisplayName>1250000000</DisplayName>
            </Owner>
        </バージョン>
        <バージョン>
            <キー> example-object-3.jpg</キー>
            <VersionId/>
            <IsLatest>true</IsLatest>
            <LastModified>2019-08-10T12:03:08.000Z</LastModified>
            <ETag>4B3F1A2E053D763E1B002CC607C5AGTRF ****</ETag>
            <サイズ> 20</サイズ>
            <StorageClass> 標準 </StorageClass>
            <Owner>
                <ID>1250000000</ID>
                <DisplayName>1250000000</DisplayName>
            </Owner>
        </バージョン>
    </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
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    日付: 4月2019日火曜日07:27:48 GMT
    承認: OSS ami4tq0x76o ****:WFx4kLpx + e7Rc0jawCsh7hlk **** 

    レスポンスの例

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC4974B7AEADE01700 ****
    日付: 4月2019日火曜日07:27:48 GMT
    Content-Type: application/xml
    接続: キープアライブ
    サーバー: AliyunOSS
    <?xml version="1.0" encoding="UTF-8"?>
    <ListVersionsResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <Name>oss-example</Name>
        <Prefix></Prefix>
        <KeyMarker> の例 </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>
        <バージョン>
            <Key>example</Key>
            <VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN ****</VersionId>
            <IsLatest>false</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <ETag>"250F8A0AE989679A22926A875F0A2 ****"</ETag>
            <Type>Normal</Type>
            <サイズ> 93731</サイズ>
            <StorageClass>Standard</StorageClass>
            <Owner>
              <ID>1234512528586 ****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
        </バージョン>
        <バージョン>
            <キー> pic.jpg</キー>
            <VersionId>CAEQMxiBgMCZov2D0BYiIDY4MDllOTc2YmY5MjQxMzdiOGI3OTlhNTU0ODIx ****</VersionId>
            <IsLatest>true</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <ETag>"3663F7B0B9D3153F884C821E7CF4 ****"</ETag>
            <Type>Normal</Type>
            <サイズ> 574768</サイズ>
            <StorageClass>Standard</StorageClass>
            <Owner>
              <ID>1234512528586 ****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
        </バージョン>
    </ListVersionsResult> 
  • 要求されたバケットに保存されているアーカイブオブジェクトとコールドアーカイブオブジェクト

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

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

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

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

    リクエストの例

    GET / HTTP/1.1
    ホスト: examplebucket.oss-cn-hangzhou.aliyuncs.com
    日付: 2月24日金曜日2012 08:43:27 GMT
    権限付与: OSS qn6qrrqxo2oawuk53otf ****:DNrnx7xHk3sgysx7I8U9I9IY **** 

    レスポンスの例

    HTTP/1.1 200 OK
    x-oss-request-id: 5CAC4974B7AEADE01700 ****
    日付: 4月2019日火曜日07:27:48 GMT
    Content-Type: application/xml
    接続: キープアライブ
    サーバー: AliyunOSS
    <?xml version="1.0" encoding="UTF-8"?>
    <ListVersionsResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <Name>oss-example</Name>
        <Prefix></Prefix>
        <KeyMarker> の例 </KeyMarker>
        <VersionIdMarker>CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1 ****</VersionIdMarker>
        <MaxKeys>100</MaxKeys>
        <Delimiter></Delimiter>
        <IsTruncated>false</IsTruncated>
        <バージョン>
            <キー> exampleobject1.txt</キー>
            <VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm ****</VersionId>
            <IsLatest>false</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <Owner>
              <ID>1234512528586 ****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
         </バージョン>
        <バージョン>
            <キー> exampleobject2.txt</キー>
            <VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN ****</VersionId>
            <IsLatest>false</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <ETag>"250F8A0AE989679A22926A875F0A2 ****"</ETag>
            <Type>Normal</Type>
            <サイズ> 93731</サイズ>
            <StorageClass>Standard</StorageClass>
            <RestoreInfo> 進行中-request="true"</RestoreInfo>
            <Owner>
              <ID>1234512528586 ****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
         </バージョン>
        <バージョン>
            <キー> exampleobject3.txt</キー>
            <VersionId>CAEQMxiBgMCZov2D0BYiIDY4MDllOTc2YmY5MjQxMzdiOGI3OTlhNTU0ODIx ****</VersionId>
            <IsLatest>true</IsLatest>
            <LastModified>2019-04-09T07:27:28.000Z</LastModified>
            <ETag>"3663F7B0B9D3153F884C821E7CF4 ****"</ETag>
            <Type>Normal</Type>
            <サイズ> 574768</サイズ>
            <StorageClass>Standard</StorageClass>
            <RestoreInfo> 継続的-要求="false" 、有効期限="Thr、24月2020 12:40:33 GMT"</RestoreInfo>
            <Owner>
              <ID>1234512528586 ****</ID>
              <DisplayName>12345125285864390</DisplayName>
            </Owner>
         </バージョン>
    </ListVersionsResult> 

OSS SDK

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

エラーコード

エラーコード

HTTPステータスコード

説明

NoSuchBucket

404

要求されたバケットが存在しない場合に返されるエラーメッセージ。 要求されたバケットの名前が命名規則に準拠しているかどうかを確認します。

AccessDenied

403

バケットへのアクセスが許可されていない場合に返されるエラーメッセージ。 バケットにアクセスできるのは、oss:ListObjectVersions権限が付与されたバケット所有者とRAMユーザーだけです。

InvalidArgument

400

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

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