O VMware Cloud Director Object Storage Extension fornece um conjunto de APIs compatíveis com o S3 para operações de objeto e bucket.

A API do VMware Cloud Director Object Storage Extension é compatível com o método de autenticação do AWS Signature v4 e do JSON Web Token (JWT) do VMware Cloud Director.

A interface de programação de aplicativos do VMware Cloud Director Object Storage Extension é compatível com os formatos JSON e XML.

Por padrão, as APIs do S3 do VMware Cloud Director Object Storage Extension estão disponíveis em https://object-storage-extension-host-address/ e https://object-storage-extension-host-address/api/v1/s3. Dependendo da configuração de rede do seu provedor de nuvem, o endereço do VMware Cloud Director Object Storage Extension e o caminho raiz para a API do S3 podem ser diferentes da configuração padrão.

A documentação da API do S3 VMware Cloud Director Object Storage Extension está disponível com o produto em https://object-storage-extension-host-address/docs e no VMware API Explorer em https://code.vmware.com/apis, abaixo da categoria de produto do VMware Cloud Director Object Storage Extension.

Usando credenciais de segurança e API do VMware Cloud Director Object Storage Extension

Para ver como trabalhar com credenciais de segurança e a interface de programação de aplicativos do VMware Cloud Director Object Storage Extension, use o exemplo a seguir.
  1. Crie uma credencial de usuário usando o VMware Cloud Director Object Storage Extension tenant portal.

    Por padrão, as credenciais de usuário recém-criadas são ativadas durante a criação.

  2. Copie as chaves de acesso e secreta.
  3. Observe o nome de um bucket, conforme exibido no VMware Cloud Director Object Storage Extension tenant portal.
  4. No seu cliente de API, use o método de autenticação de Assinatura do AWS para autenticar sua solicitação de API inserindo o endpoint da API e as chaves de acesso e de segurança.
    Por exemplo, insira as seguintes informações de conexão:
    Endpoint da interface de programação de aplicativos https://Cloud-Director-Object-Storage-Extension-IP-Andreas:443
    Chave de acesso 5a5af54cf34a172a511f
    Chave secreta omSG+UXSoyD1fbdFt0iia3I8I+f0QLSiIn5wpq1L
  5. Para listar todos os buckets pertencentes ao proprietário da credencial do usuário, execute uma solicitação GET da interface de programação de aplicativos do S3.

    Por exemplo:

    GET /HTTP/1.1
    Host: vCloud-Director-Object-Storage-Extension-IP-addres: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
    
O sistema retorna a seguinte representação XML do conteúdo do bucket:
<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 obter uma credencial de usuário ou de aplicativo, consulte Trabalhando com credenciais de segurança.