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

VMware Cloud Director Object Storage Extension API 支援 AWS 簽章 v4 和 VMware Cloud Director JSON Web Token (JWT) 驗證方法。

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

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

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

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

若要瞭解如何使用安全性認證和 VMware Cloud Director Object Storage Extension API,請使用下列範例。
  1. 使用 VMware Cloud Director Object Storage Extension tenant portal 來建立使用者認證。

    依預設,新建立的使用者認證會在建立期間啟用。

  2. 複製存取金鑰和秘密金鑰。
  3. 記下顯示在 VMware Cloud Director Object Storage Extension tenant portal 中的值區名稱。
  4. 在 API 用戶端中,藉由輸入 API 端點和存取金鑰與安全性金鑰,以使用 AWS 簽章驗證方法來驗證您的 API 要求。
    例如,輸入下列連線資訊:
    API 端點 https://Cloud-Director-Object-Storage-Extension-IP-Andreas:443
    存取金鑰 5a5af54cf34a172a511f
    秘密金鑰 omSG+UXSoyD1fbdFt0iia3I8I+f0QLSiIn5wpq1L
  5. 若要列出使用者認證擁有者所擁有的所有值區,請執行 S3 API GET 要求。

    例如:

    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
    
系統會傳回下列以 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>

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