バケット内のすべてのオブジェクトのバージョン (削除マーカーを含む) を一覧表示します。
使用上の注意
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) オペレーションを呼び出すときに、返される結果をフィルタリングするために、prefix、key-marker、version-id-marker、delimiter、max-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) リクエストのマーカーとして 有効な値: 1 ~ 999。 デフォルト値: 100。 |
prefix | 文字列 | いいえ | fun | 返されるオブジェクトの名前に含まれる必要があるプレフィックス。
リクエストで 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。 親ノード: 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 はオブジェクトのコンテンツを識別するために使用されます。
説明 オブジェクトの ETag は、オブジェクトコンテンツが変更されたかどうかを確認するためだけに使用できます。データの整合性を検証するには、オブジェクトの ETag ではなく、オブジェクトの MD5 ハッシュを使用することをお勧めします。 親ノード: ListVersionsResult.Version |
Key | 文字列 | example | オブジェクトの名前。 親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker |
LastModified | 時刻 | 2019-04-09T07:27:28.000Z | 返されたオブジェクトが最後に変更された時刻。 説明
親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker |
TransitionTime | 時刻 | 2024-04-23T07:21:42.000Z | ライフサイクルルールに基づいて、返されたオブジェクトのストレージタイプがコールドアーカイブまたはディープコールドアーカイブに変更された時刻。 説明
親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker |
VersionId | 文字列 | CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN**** | オブジェクトのバージョン ID。 親ノード: ListVersionsResult.Version と ListVersionsResult.DeleteMarker |
IsLatest | 文字列 | true | バージョンが現在のバージョンかどうかを示します。 有効な値:
親ノード: 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" | オブジェクトの復元ステータス。
|
ListObjectVersions (GetBucketVersions) リクエストへのレスポンスの x-oss-request-id
や Content-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.txt、exampleobject2.txt、exampleobject3.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 | バケットにアクセスする権限がありません。バケット所有者と、 |
InvalidArgument | 400 |
|