Lista todas las versiones de objetos en un bucket, incluidos los marcadores de eliminación.
Notas de uso
ListObjectVersions (GetBucketVersions) devuelve todas las versiones de objetos, incluidos los marcadores de eliminación. ListObjects (GetBucket) solo devuelve las versiones actuales sin incluir los marcadores de eliminación.
Al llamar a ListObjectVersions (GetBucketVersions), los objetos se devuelven en orden alfabético por nombre. Las versiones del mismo objeto se listan desde la más reciente hasta la más antigua, independientemente del orden alfabético de los ID de versión.
Si logging y real-time log query están habilitados para el bucket, el campo de operación en el registro generado es GetBucket.
Las llamadas a ListObjectVersions (GetBucketVersions) se facturan según el número de solicitudes PUT, como se describe en API operation calling fees.
Sintaxis de la solicitud
GET /?versions HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Encabezados de solicitud
DescribeRegions utiliza únicamente encabezados de solicitud comunes. Para obtener más información, consulte Common request headers.
Parámetros de solicitud
Utilice estos parámetros para filtrar resultados: prefix, key-marker, version-id-marker, delimiter y max-keys.
Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
delimiter | String | No | / | Carácter utilizado para agrupar objetos por nombre. Si se especifican tanto prefix como delimiter, la respuesta contiene CommonPrefixes. Los objetos cuyos nombres comparten la misma cadena desde el prefijo hasta la siguiente aparición del delimitador se agrupan en una sola entrada de CommonPrefixes. Si prefix es un nombre de directorio y delimiter es una barra diagonal (/), solo se devuelven los objetos de ese directorio. Los nombres de subdirectorios aparecen en CommonPrefixes, pero no se listan los objetos ni los directorios dentro de los subdirectorios. Valor predeterminado: vacío. |
key-marker | String | Obligatorio si se especifica version-id-marker. | example | Devuelve objetos en orden alfabético posterior a este valor. Se puede usar junto con version-id-marker. Longitud máxima: 1,024 bytes. Valor predeterminado: vacío. |
version-id-marker | String | No | CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** | Devuelve versiones creadas antes de este marcador para el objeto especificado por key-marker, en orden descendente por hora de creación. Si se omite, los resultados comienzan desde la versión más reciente del objeto que sigue alfabéticamente a key-marker. Valor predeterminado: vacío. Valores válidos: ID de versión. |
max-keys | String | No | 100 | Número máximo de objetos a devolver. Si los resultados superan max-keys, la respuesta incluye Valores válidos: 1 a 999. Valor predeterminado: 100. |
prefix | String | No | fun | Prefijo que deben contener los nombres de los objetos devueltos.
Si prefix se establece como un nombre de directorio, se listan todos los objetos y subdirectorios dentro de ese directorio. Valor predeterminado: vacío. |
encoding-type | String | No | URL | Tipo de codificación del contenido de la respuesta. Valor predeterminado: vacío. Valores válidos: URL. Importante Los valores de delimiter, marker, prefix, NextMarker y Key tienen codificación UTF-8. Si alguno de estos valores contiene caracteres de control no admitidos por XML 1.0, establezca encoding-type para codificar los valores Delimiter, Marker, Prefix, NextMarker y Key en la respuesta. |
Parámetros de respuesta
Parámetro | Tipo | Ejemplo | Descripción |
ListVersionsResult | Container | N/A | Contenedor para los resultados de ListObjectVersions (GetBucketVersions). Nodos secundarios: Name, Prefix, Marker, MaxKeys, Delimiter, IsTruncated, NextMarker, Version y DeleteMarker Nodos principales: ninguno |
CommonPrefixes | Container | N/A | Si se especifica delimiter, los objetos cuyos nombres comparten la misma cadena desde el prefijo hasta la siguiente aparición del delimitador se agrupan en una sola entrada de CommonPrefixes. Nodos principales: ListVersionsResult |
Delimiter | String | / | Carácter utilizado para agrupar objetos por nombre. Los objetos que comparten la misma cadena desde el prefijo hasta la siguiente aparición del delimitador se agrupan en una sola entrada de CommonPrefixes. Nodos principales: ListVersionsResult |
EncodingType | String | URL | Tipo de codificación del contenido de la respuesta. Si se especifica encoding-type en la solicitud, se codifican los valores de Delimiter, Marker, Prefix, NextMarker y Key. Nodos principales: ListVersionsResult |
IsTruncated | String | true | Indica si los resultados están truncados.
Valores válidos: true y false. Nodos principales: ListVersionsResult |
KeyMarker | String | example | Objeto a partir del cual comienza el listado. Nodos principales: ListVersionsResult |
VersionIdMarker | String | CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** | Versión desde la cual comienza la operación ListObjectVersions (GetBucketVersions). Se usa junto con KeyMarker. Nodos principales: ListVersionsResult |
NextKeyMarker | String | test | Se incluye cuando los resultados están truncados. Úselo como key-marker en la siguiente solicitud para continuar el listado. Nodos principales: ListVersionsResult |
NextVersionIdMarker | String | CAEQGBiBgIC_jq7P9xYiIDRiZWJkNjY2Y2Q4NDQ5ZTI5ZGE5ODIxMTIyZThl**** | Se incluye cuando los resultados están truncados. Úselo como version-id-marker en la siguiente solicitud para continuar el listado. Nodos principales: ListVersionsResult |
MaxKeys | String | 1000 | Número máximo de objetos devueltos en la respuesta. Nodos principales: ListVersionsResult |
Name | String | examplebucket-1250000000 | Nombre del bucket. Nodos principales: ListVersionsResult |
Prefix | String | fun | Prefijo que debe incluirse en los nombres de los objetos listados. Nodos principales: ListVersionsResult |
Version | Container | N/A | Contenedor para versiones de objetos, excluyendo marcadores de eliminación. Nodos principales: ListVersionsResult |
DeleteMarker | Container | N/A | Contenedor para marcadores de eliminación. Nodos principales: ListVersionsResult |
ETag | String | 250F8A0AE989679A22926A875F0A2**** | ETag del objeto, utilizado para identificar su contenido.
Nota El valor ETag solo indica si el contenido del objeto ha cambiado. No utilice el valor ETag como hash MD5 del contenido del objeto para verificar la integridad de los datos. Nodos principales: ListVersionsResult.Version |
Key | String | example | Nombre del objeto. Nodos principales: ListVersionsResult.Version y ListVersionsResult.DeleteMarker |
LastModified | Time | 2019-04-09T07:27:28.000Z | Hora de la última modificación del objeto.
Nodos principales: ListVersionsResult.Version y ListVersionsResult.DeleteMarker |
TransitionTime | Time | 2024-04-23T07:21:42.000Z | Hora en que la clase de almacenamiento del objeto cambia a Cold Archive o Deep Cold Archive según las reglas de ciclo de vida.
Nodos principales: ListVersionsResult.Version y ListVersionsResult.DeleteMarker |
VersionId | String | CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN**** | ID de versión del objeto. Nodos principales: ListVersionsResult.Version y ListVersionsResult.DeleteMarker |
IsLatest | String | true | Indica si esta versión es la versión actual. Valores válidos:
Nodos principales: ListVersionsResult.Version y ListVersionsResult.DeleteMarker |
Size | String | 93731 | Tamaño del objeto en bytes. Nodos principales: ListVersionsResult.Version y ListVersionsResult.DeleteMarker |
StorageClass | String | Standard | Clase de almacenamiento del objeto. Nodos principales: ListVersionsResult.Version y ListVersionsResult.DeleteMarker |
Owner | Container | N/A | Contenedor para la información del propietario del bucket. Nodos principales: ListVersionsResult.Version y ListVersionsResult.DeleteMarker |
DisplayName | String | 12345125285864390 | Nombre del propietario del objeto. Nodos principales: ListVersionsResult.Version.Owner y ListVersionsResult.DeleteMarker.Owner |
ID | String | 1234512528586**** | ID de usuario del propietario del bucket. Nodos principales: ListVersionsResult.Version.Owner y ListVersionsResult.DeleteMarker.Owner |
RestoreInfo | String | ongoing-request="true" | Estado de restauración del objeto.
|
Para obtener más información sobre los encabezados de respuesta comunes, como x-oss-request-id y Content-Type en la respuesta a una solicitud ListObjectVersions (GetBucketVersions), consulte Common response headers.
Ejemplos
-
Listar las versiones de objetos en un bucket sin control de versiones
Solicitudes de ejemplo
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****************Respuesta exitosa de ejemplo
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> -
Listar las versiones de objetos en un bucket con control de versiones habilitado
El bucket oss-example contiene dos objetos: example con tres versiones (111222, 000123 como marcador de eliminación y 222333, en orden descendente por hora de creación), y pic.jpg con una versión (232323).
Si establece key-marker en example y version-id-marker en 111222, se devuelven secuencialmente las siguientes tres versiones: 000123 de example, 222333 de example y 232323 de pic.jpg.
Solicitudes de ejemplo
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****************Respuestas exitosas de ejemplo
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> -
Objetos Archive y objetos Cold Archive almacenados en el bucket solicitado
Suponga que el bucket examplebucket contiene los objetos exampleobject1.txt, exampleobject2.txt y exampleobject3.txt. Los tres objetos pertenecen a la clase de almacenamiento Cold Archive. Los estados de los tres objetos son los siguientes:
Para exampleobject1.txt, no se ha enviado ninguna solicitud RestoreObject o la solicitud enviada ha caducado.
Para exampleobject2.txt, se ha enviado una solicitud RestoreObject y la operación de restauración está en curso.
Para exampleobject3.txt, se ha enviado una solicitud RestoreObject y la operación de restauración se completó.
Solicitud de ejemplo
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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eRespuesta de ejemplo
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 de OSS
Ejecute esta operación con los siguientes SDK de OSS:
Interfaz de línea de comandos ossutil
Para obtener información sobre el comando de ossutil correspondiente a la operación ListObjectVersions, consulte list-object-versions.
Códigos de error
Código de error | Código de estado HTTP | Descripción |
NoSuchBucket | 404 | El bucket no existe. Compruebe que el nombre del bucket cumpla con las convenciones de nomenclatura. |
AccessDenied | 403 | Solo el propietario del bucket o los usuarios de RAM con el permiso |
InvalidArgument | 400 |
|