vCloud Director Object Storage Extension fornisce un set di API compatibili con S3 per le operazioni di bucket e oggetti.

L'API di vCloud Director Object Storage Extension supporta AWS Signature v4, il token di autorizzazione di vCloud Director e i metodi di autenticazione JSON Web Token (JWT).

L'API di vCloud Director Object Storage Extension supporta i formati JSON e XML.

Per impostazione predefinita, le API S3 di vCloud Director Object Storage Extension sono disponibili in https://object-storage-extension-host-address/api/v1/s3. In base alla configurazione della rete del provider di servizi, l'indirizzo di vCloud Director Object Storage Extension e il percorso root per l'API S3 potrebbero essere diversi dalla configurazione predefinita.

La documentazione dell'API S3 di vCloud Director Object Storage Extension è disponibile con il prodotto all'indirizzo https://object-storage-extension-host-address/docs e in VMware API Explorer all'indirizzo https://code.vmware.com/apis nella categoria di prodotti vCloud Director Object Storage Extension.

Utilizzo delle credenziali di sicurezza e dell'API di vCloud Director Object Storage Extension

Per verificare la modalità di utilizzo delle credenziali di sicurezza e dell'API di vCloud Director Object Storage Extension, vedere l'esempio seguente.
  1. Creare credenziali utente mediante Object Storage Tenant Portal. Per impostazione predefinita, le credenziali utente appena create vengono attivate durante la creazione.
  2. Copiare la chiave di accesso e la chiave segreta.
  3. Prendere nota del nome di un bucket che viene visualizzato in Object Storage Tenant Portal.
  4. Nel client API, utilizzare il metodo di autenticazione AWS Signature per eseguire l'autenticazione della richiesta dell'API immettendo l'endpoint dell'API e le chiavi di accesso e sicurezza.
    Ad esempio, immettere le seguenti informazioni sulla connessione:
    • Endpoint API: https://vCloud-Director-Object-Storage-Extension-IP-addres:443/api/v1/s3
    • Chiave di accesso: 5a5af54cf34a172a511f
    • Chiave segreta: omSG+UXSoyD1fbdFt0iia3I8I+f0QLSiIn5wpq1L
  5. Emettere una richiesta GET dell'API S3 per elencare tutti i bucket di proprietà del proprietario delle credenziali utente.

    Di seguito è disponibile un esempio di richiesta dell'API:

    GET /api/v1/s3/ 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
    
Il sistema restituisce la seguente rappresentazione XML del contenuto del 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>

Per ottenere le credenziale di un utente o di un'applicazione, vedere Utilizzo delle credenziali di sicurezza.