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
- 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.
- Copie as chaves de acesso e secreta.
- Observe o nome de um bucket, conforme exibido no VMware Cloud Director Object Storage Extension tenant portal.
- 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 - 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
<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.