バケット内のすべてのオブジェクトバージョン (削除マーカーを含む) を一覧表示します。
注意事項
ListObjectVersions (GetBucketVersions) は、削除マーカーを含むすべてのオブジェクトバージョンを返します。ListObjects (GetBucket) は、削除マーカーを含まない現在のバージョンのみを返します。
ListObjectVersions (GetBucketVersions) を呼び出すと、オブジェクトは名前のアルファベット順に返され、同じオブジェクトのバージョンは、バージョン ID のアルファベット順に関係なく、最新のものから最も古いものへと順に返されます。
ロギングとリアルタイムログクエリがバケットで有効になっている場合、生成されたログの operation フィールドは GetBucket になります。
ListObjectVersions (GetBucketVersions) の呼び出しは、「API 操作の呼び出し料金」で説明されているように、PUT リクエストの数に基づいて課金されます。
リクエスト構文
GET /?versions HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValueリクエストヘッダー
DescribeRegions リクエストのすべてのヘッダーは、共通のリクエストヘッダーです。詳細については、「共通のリクエストヘッダー」をご参照ください。
リクエストパラメーター
結果をフィルターリングするには、prefix、key-marker、version-id-marker、delimiter、max-keys のパラメーターを使用します。
パラメーター | タイプ | 必須 | 例 | 説明 |
delimiter | String | いいえ | / | オブジェクトを名前でグループ化するために使用する文字です。prefix と delimiter の両方が指定されている場合、レスポンスには CommonPrefixes が含まれます。プレフィックスから次のデリミタが出現するまでの文字列が同じであるオブジェクトは、単一の CommonPrefixes エントリーとしてグループ化されます。 prefix がディレクトリ名で、delimiter がスラッシュ (/) の場合、そのディレクトリ内のオブジェクトのみが返されます。サブディレクトリ名は CommonPrefixes に表示されますが、サブディレクトリ内のオブジェクトやディレクトリは一覧表示されません。 デフォルト値:なし。 |
key-marker | String | version-id-marker が指定されている場合は必須です。 | example | この値の後にアルファベット順でオブジェクトを返します。version-id-marker とともに使用できます。 最大長:1,024 バイト。 デフォルト値:なし。 |
version-id-marker | String | いいえ | CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** | key-marker で指定されたオブジェクトについて、このマーカーより前に作成されたバージョンを作成時刻の降順で返します。省略した場合、結果は key-marker の後のアルファベット順のオブジェクトの最新バージョンから始まります。 デフォルト値:なし。 有効な値:バージョン ID。 |
max-keys | String | いいえ | 100 | 返すオブジェクトの最大数です。 結果が max-keys を超える場合、レスポンスには次のリクエストのページネーションマーカーとして 有効な値:1~1000。 デフォルト値:100。 |
prefix | String | いいえ | fun | 返されるオブジェクト名に含める必要があるプレフィックスです。
prefix がディレクトリ名に設定されている場合、そのディレクトリ内のすべてのオブジェクトとサブディレクトリが一覧表示されます。 デフォルト値:なし。 |
encoding-type | String | いいえ | URL | レスポンス内容のエンコードタイプです。 デフォルト値:なし。 有効な値:URL。 重要 Delimiter、Marker、Prefix、NextMarker、および Key の値は UTF-8 でエンコードされます。これらの値に XML 1.0 がサポートしていない制御文字が含まれている場合は、encoding-type を設定して、レスポンス内の Delimiter、Marker、Prefix、NextMarker、および Key の値をエンコードします。 |
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
ListVersionsResult | コンテナ | N/A | ListObjectVersions (GetBucketVersions) の結果のコンテナです。 子ノード:Name、Prefix、Marker、MaxKeys、Delimiter、IsTruncated、NextMarker、Version、および DeleteMarker 親ノード:なし |
CommonPrefixes | コンテナ | N/A | delimiter が指定されている場合、プレフィックスから次のデリミタが出現するまでの文字列が同じであるオブジェクトは、単一の CommonPrefixes エントリーとしてグループ化されます。 親ノード:ListVersionsResult |
Delimiter | String | / | オブジェクトを名前でグループ化するために使用される文字です。プレフィックスから次のデリミタが出現するまでの文字列が同じであるオブジェクトは、単一の CommonPrefixes エントリーとしてグループ化されます。 親ノード:ListVersionsResult |
EncodingType | String | URL | レスポンス内容のエンコードタイプです。リクエストで encoding-type が指定されている場合、Delimiter、Marker、Prefix、NextMarker、および Key の値はエンコードされます。 親ノード:ListVersionsResult |
IsTruncated | String | true | 結果が切り捨てられているかどうかを示します。
有効な値:true および false。 親ノード:ListVersionsResult |
KeyMarker | String | example | 一覧表示が開始されるオブジェクトです。 親ノード:ListVersionsResult |
VersionIdMarker | String | CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** | ListObjectVersions (GetBucketVersions) 操作が開始されるバージョンです。KeyMarker とともに使用されます。 親ノード:ListVersionsResult |
NextKeyMarker | String | test | 結果が切り捨てられた場合にのみ含まれます。次の一覧表示を続けるには、次のリクエストで key-marker として使用します。 親ノード:ListVersionsResult |
NextVersionIdMarker | String | CAEQGBiBgIC_jq7P9xYiIDRiZWJkNjY2Y2Q4NDQ5ZTI5ZGE5ODIxMTIyZThl**** | 結果が切り捨てられた場合にのみ含まれます。次の一覧表示を続けるには、次のリクエストで version-id-marker として使用します。 親ノード:ListVersionsResult |
MaxKeys | String | 1000 | レスポンスで返されるオブジェクトの最大数です。 親ノード:ListVersionsResult |
Name | String | examplebucket-1250000000 | バケットの名前です。 親ノード:ListVersionsResult |
Prefix | String | fun | 一覧表示されるオブジェクトの名前に含まれる必要があるプレフィックスです。 親ノード:ListVersionsResult |
Version | コンテナ | N/A | 削除マーカーを除くオブジェクトバージョンのコンテナです。 親ノード:ListVersionsResult |
DeleteMarker | コンテナ | N/A | 削除マーカーのコンテナです。 親ノード:ListVersionsResult |
ETag | String | 250F8A0AE989679A22926A875F0A2**** | オブジェクトの ETag で、オブジェクトの内容を識別するために使用されます。
説明 ETag 値は、オブジェクトのコンテンツが変更されたかどうかのみを示します。ETag 値をオブジェクトコンテンツの MD5 ハッシュとして使用して、データの整合性を検証しないでください。 親ノード:ListVersionsResult.Version |
Key | String | example | オブジェクトの名前です。 親ノード:ListVersionsResult.Version および ListVersionsResult.DeleteMarker |
LastModified | Time | 2019-04-09T07:27:28.000Z | オブジェクトが最後に変更された時刻です。
親ノード:ListVersionsResult.Version および ListVersionsResult.DeleteMarker |
TransitionTime | Time | 2024-04-23T07:21:42.000Z | ライフサイクルルールに基づいてオブジェクトのストレージクラスがコールドアーカイブまたはディープコールドアーカイブに変更された時刻です。
親ノード:ListVersionsResult.Version および ListVersionsResult.DeleteMarker |
VersionId | String | CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN**** | オブジェクトのバージョン ID です。 親ノード:ListVersionsResult.Version および ListVersionsResult.DeleteMarker |
IsLatest | String | true | このバージョンが現在のバージョンであるかどうかを示します。 有効な値:
親ノード:ListVersionsResult.Version および ListVersionsResult.DeleteMarker |
Size | String | 93731 | オブジェクトのサイズ (バイト単位) です。 親ノード:ListVersionsResult.Version および ListVersionsResult.DeleteMarker |
StorageClass | String | Standard | オブジェクトのストレージクラスです。 親ノード:ListVersionsResult.Version および ListVersionsResult.DeleteMarker |
Owner | コンテナ | N/A | バケット所有者情報のコンテナです。 親ノード: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 | 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: 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>バージョニングが有効なバケット内のオブジェクトのバージョンを一覧表示
バケット oss-example には 2 つのオブジェクトが含まれています。1 つは example で、3 つのバージョン (作成時刻の降順で 111222、削除マーカーとして 000123、222333) があり、もう 1 つは pic.jpg で、1 つのバージョン (232323) があります。
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 つのオブジェクトはすべてコールドアーカイブストレージクラスにあります。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: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eレスポンスの例
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="Thu, 24 Sep 2020 12:40:33 GMT"</RestoreInfo> <Owner> <ID>1234512528586****</ID> <DisplayName>12345125285864390</DisplayName> </Owner> </Version> </ListVersionsResult>
OSS SDK
次の OSS SDK を使用してこの操作を呼び出します。
ossutil コマンドラインインターフェイス
ListObjectVersions 操作に対応する ossutil コマンドについては、「list-object-versions」をご参照ください。
エラーコード
エラーコード | HTTP ステータスコード | 説明 |
NoSuchBucket | 404 | バケットが存在しません。バケット名が命名規則に従っていることを確認してください。 |
AccessDenied | 403 | バケットの所有者、または |
InvalidArgument | 400 |
|