vCloud Director Object Storage Extension proporciona un conjunto de API compatibles con S3 para operaciones de objetos y depósitos.

vCloud Director Object Storage Extension API admite la firma de AWS Signature v4, el token de autorización de vCloud Director y los métodos de autenticación de token web de JSON (JWT).

La API de vCloud Director Object Storage Extension admite los formatos JSON y XML.

De forma predeterminada, las API de S3 de vCloud Director Object Storage Extension están disponibles en https://dirección-host-object-storage-extension/api/v1/s3. Según la configuración de red del proveedor de servicios, la dirección de vCloud Director Object Storage Extension y la ruta de acceso raíz de la API de S3 pueden diferir de la configuración predeterminada.

La documentación de la API de S3 de vCloud Director Object Storage Extension está disponible con el producto en https://dirección-host_object-storage-extension/docs y en el Explorador de API de VMware en https://code.vmware.com/apis, en la categoría de productos vCloud Director Object Storage Extension.

Usar credenciales de seguridad y la API de vCloud Director Object Storage Extension

Para ver cómo se trabaja con las credenciales de seguridad y la API de vCloud Director Object Storage Extension, consulte el siguiente ejemplo.
  1. Cree una credencial de usuario con Object Storage Tenant Portal. De forma predeterminada, las credenciales de usuario recién creadas se activan durante la creación.
  2. Copie las claves secreta y de acceso.
  3. Anote el nombre de un depósito tal como aparece en Object Storage Tenant Portal.
  4. En el cliente de API, use el método de autenticación AWS Signature para autenticar la solicitud de API introduciendo el endpoint de API y las claves de acceso y seguridad.
    Por ejemplo, introduzca la siguiente información de conexión:
    • Endpoint de API: https://dirección-IP-vCloud-Director-Object-Storage-Extension:443/api/v1/s3
    • Clave de acceso: 5a5af54cf34a172a511f
    • Clave secreta: omSG+UXSoyD1fbdFt0iia3I8I+f0QLSiIn5wpq1L
  5. Emita una solicitud GET de API de S3 para enumerar todos los depósitos que pertenecen al propietario de la credencial de usuario.

    A continuación, se muestra un ejemplo de la solicitud de API:

    GET /api/v1/s3/ HTTP/1.1
    Host: dirección-IP-vCloud-Director-Object-Storage-Extension:443
    Accept: application/xml
    X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
    X-Amz-Date: 20190717T014259Z
    Authorization: AWS4-HMAC-SHA256 Credential=5a5af54cf34a172a511f/20190717/us-east-1/s3/aws4_request, SignedHeaders=accept;host;x-amz-content-sha256;x-amz-date, Signature=a1a0cfdc34fd4275f567ef673f14d8ff963242d29c13515506a3a913e7f38415
    cache-control: no-cache
    
El sistema devuelve la siguiente representación XML del contenido del depósito:
<listBucketResult>
		<Name>bucket-name</Name>
		<KeyCount>1</KeyCount>
		<MaxKeys>1000</MaxKeys>
		<Contents>
			<Key>object-name</Key>
			<Owner>
				<ID>system-id-of-the-user</>
				<DisplayName>display-name-of-the-user</DisplayName>
			</Owner>
			<StorageClass>Storage-Class</StorageClass>
			<Size>object-size-in-KB</Size>
			<LastModified>last-modified-date</LastModified>
		</Contents>
		<IsTruncated>true-or-false</IsTruncated>
		<ContinuationToken>1-or-0</ContinuationToken>
</listBucketResult>

Para obtener una credencial de usuario o de aplicación, consulte Trabajar con credenciales de seguridad.