vCloud Director Object Storage Extension 針對值區和物件的作業提供了一組 S3 相容 API。

vCloud Director Object Storage Extension API 支援 AWS 簽章 v4、vCloud Director 授權 Token 和 JSON Web Token (JWT) 驗證方法。

vCloud Director Object Storage Extension API 支援 JSON 和 XML 格式。

依預設,vCloud Director Object Storage Extension 的 S3 API 可於 https://object-storage-extension-host-address/api/v1/s3 取得。根據服務提供者的網路組態,vCloud Director Object Storage Extension 的位址和 S3 API 的根路徑可能會與預設組態不同。

vCloud Director Object Storage Extension S3 API 說明文件可隨產品 (位於 https://object-storage-extension-host-address/docs) 取得,另外也可在 VMware API Explorer (位於 https://code.vmware.com/apis) 的 vCloud Director Object Storage Extension 產品類別下方取得。

使用安全性認證和 vCloud Director Object Storage Extension API

若要瞭解如何使用安全性認證和 vCloud Director Object Storage Extension API,請參閱下列範例。
  1. 使用 Object Storage Tenant Portal 來建立使用者認證。依預設,新建立的使用者認證會在建立期間啟動。
  2. 複製存取金鑰和秘密金鑰。
  3. 記下顯示在 Object Storage Tenant Portal 中的值區名稱。
  4. 在 API 用戶端中,藉由輸入 API 端點和存取金鑰與安全性金鑰,以使用 AWS 簽章驗證方法來驗證您的 API 要求。
    例如,輸入下列連線資訊:
    • API 端點:https://vCloud-Director-Object-Storage-Extension-IP-addres:443/api/v1/s3
    • 存取金鑰:5a5af54cf34a172a511f
    • 秘密金鑰:omSG+UXSoyD1fbdFt0iia3I8I+f0QLSiIn5wpq1L
  5. 發出 S3 API GET 要求以列出使用者認證擁有者所擁有的所有值區。

    以下是 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
    
系統會傳回下列以 XML 表示的值區內容:
<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>

若要取得使用者認證或應用程式認證,請參閱使用安全性認證