削除マーカーを含む、バケット内のすべてのオブジェクトのバージョンを一覧表示します。
使用上の注意
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) 操作を呼び出すと、prefix、key-marker、version-id-marker、delimiter、および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) リクエストのマーカーとして、 有効な値: 1 ~ 999 デフォルト値:100 |
プレフィックス | String | 任意 | 楽しい | 返されるオブジェクトの名前に含める必要があるプレフィックス。
リクエストでプレフィックスをディレクトリ名に設定すると、ディレクトリ内のすべてのオブジェクトとサブディレクトリを含む、プレフィックスを名前に含むオブジェクトが一覧表示されます。 デフォルトでは、このパラメータは空のままです。 |
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 です。 親ノード: 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は、オブジェクトのコンテンツを識別するために使用されます。
説明 オブジェクトのETagは、オブジェクトの内容が変更されたかどうかを確認するためにのみ使用できます。 データの整合性を検証するために、オブジェクトのETagの代わりにオブジェクトのMD5ハッシュを使用することを推奨します。 親ノード: ListVersionsResult.Version |
Key | String | 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 | String | CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN **** | オブジェクトのバージョンID。 親ノード: ListVersionsResult.VersionおよびListVersionsResult.DeleteMarker |
IsLatest | String | true | バージョンが現在のバージョンかどうかを示します。 有効な値:
親ノード: 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" | オブジェクトの復元ステータス。
|
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という名前のオブジェクトには、作成時間ごとに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.txt、exampleobject2.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 | バケットにアクセスする権限がありません。 バケットにアクセスできるのは、 |
InvalidArgument | 400 |
|