將您的 SaaS 合約與pay-as-you-go產品與 整合 AWS Marketplace - AWS Marketplace

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將您的 SaaS 合約與pay-as-you-go產品與 整合 AWS Marketplace

將您的產品與 整合 AWS Marketplace 是 中的一個步驟在 中建立 SaaS 產品 AWS Marketplace。若要將軟體整合為服務 (SaaS) 合約產品 AWS Marketplace,您必須撰寫程式碼,並示範其可以成功回應數個客戶案例。下列各節說明這些案例、說明如何回應這些案例,並提供測試整合的概觀。

注意

開始之前,請確定您已為軟體選擇正確的定價模型,即服務 (SaaS) 產品 AWS Marketplace。如需詳細資訊,請參閱規劃您的 SaaS 產品

案例:您的服務會驗證新客戶

當客戶訂閱您的產品時,它們會重新導向至您的註冊 URL,這是具有臨時x-amzn-marketplace-token字符的 HTTP POST 請求。以下列方式回應此請求:

  1. 呼叫 中的 ResolveCustomer API 操作CustomerAWSAccountIdProductCode以交換 CustomerIdentifier、 和 的字符 AWS Marketplace Metering Service。

  2. 透過呼叫 中的 GetEntitlements動作,確認客戶可存取的訂閱和數量 (如適用) AWS Marketplace Entitlement Service。

  3. ProductCode 在您的系統中保留 CustomerIdentifierCustomerAWSAccountId和 以供日後呼叫。存放客戶是否具有有效的訂閱,以及您需要的客戶相關資訊。

  4. 為了回應請求,您必須顯示使用者第一次使用的體驗 (適用於您的服務)。

案例:您的服務處理客戶請求

當客戶對您的服務提出請求時,您必須以適當的動作或訊息回應下列案例:

  • 它們在您的系統中沒有客戶 ID。這表示他們尚未訂閱。您應該向他們提供訊息,說明如何訂閱。

  • 它們具有客戶 ID,API GetEntitlements操作會傳回適當的權限。在這種情況下,您應該完成請求。

  • 它們確實有客戶 ID,但 GetEntitlements API 操作不會傳回任何權利,或沒有足夠的數量來滿足請求。在這種情況下,您必須決定如何處理存取和管理他們的體驗。

案例:計量器用量

當客戶開始使用您的服務時,您必須每小時傳送計量記錄。如需如何計量的詳細資訊,請參閱使用 SaaS 訂閱設定用量計量

我們建議您使用 AWS CloudTrail 來監控活動,以確保帳單資訊已傳送至 AWS。傳送計量記錄時,請記住下列事項:

  • 計量請求會在小時中刪除。

  • 每小時傳送的記錄是累積的。

  • 我們強烈建議最佳實務是,即使過去一小時沒有記錄,您每小時都會傳送計量記錄,使用量為 0。

案例:監控使用者權限的變更

設定 Amazon Simple Queue Service (Amazon SQS) 佇列,並訂閱您產品的 Amazon SNS 主題:有兩個 SNS 主題,一個用於權利變更,另一個用於訂閱變更。您的主題資訊包含在建立產品時從 AWS Marketplace 賣方營運團隊收到的電子郵件訊息中。如需詳細資訊,請參閱在 中建立 SaaS 產品 AWS Marketplace。透過訂閱 SNS 主題,您會收到客戶訂閱變更的通知,包括提供或撤銷特定客戶的存取權。

注意

訂閱變更的 SNS 主題 Amazon Resource Name (ARN) 看起來像 arn:aws:sns:us-east-1:<account id>:aws-mp-subscription-notification-<product code>。權利變更的 SNS 主題 ARN 看起來像 arn:aws:sns:us-east-1:<account id>:aws-mp-entitlement-notification-<product code>

您必須回應的通知如下:

  • entitlement-updated (在權利 SNS 主題中) – 客戶權限已變更,您必須呼叫 GetEntitlements API 操作以查看新狀態。更新您的客戶商店,如果適用 (例如,客戶的合約已失效),請遵循關閉客戶資源的實務,並遵循您的保留政策。

  • subscribe-success (在訂閱 SNS 主題中) – 客戶已訂閱,而且您可以成功根據其客戶 ID 進行計量。

  • unsubscribe-pending (在訂閱 SNS 主題中) – 客戶正在取消訂閱。您應該傳送任何上次計量記錄。

  • unsubscribe-success (在訂閱 SNS 主題中) – 客戶已取消訂閱。將不再接受客戶的計量記錄。遵循關閉客戶資源的實務,遵守您的保留政策。

  • subscribe-fail (在訂閱 SNS 主題中) – 客戶訂閱失敗。您不應該對照他們的客戶 ID 計量,或代表客戶啟用資源。

注意

測試您的 SaaS 合約產品整合

將合約與隨需pay-as-you-go產品整合後 AWS Marketplace,您必須進行深入測試,以確保整合成功。下列程序概述驗證產品整合的步驟。

注意

使用您自己的帳戶訂閱您的產品,並測試整合是否成功。價格可以暫時降低,因此您可以測試購買流程,而不會在這些帳戶中產生高費用。如需有關暫時降低價格或允許其他測試帳戶存取您產品的詳細資訊,請聯絡AWS Marketplace 賣方營運團隊。

產品啟動後,服務必須繼續回應新客戶的這些案例。

  1. 使用允許的 帳戶,透過取得您產品的合約來測試客戶體驗。

  2. 帳戶簽訂合約後,請確定帳戶已重新導向至註冊 URL,且重新導向是包含臨時字符的 POST 請求。請確定您的應用程式保留客戶 ID 以供日後通話使用,並正確處理客戶擁有的權利。這會測試 的一部分案例:您的服務會驗證新客戶

  3. 在上一個步驟中驗證測試帳戶後,將帳戶加入您的應用程式。例如,您可以讓測試客戶填寫表單來建立新的使用者。或者,為他們提供其他後續步驟,以存取您的 SaaS 應用程式。這會測試 的一部分案例:您的服務會驗證新客戶

  4. 如果 GetEntitlements API 操作未傳回任何權利,無論是在加入期間或持續驗證通過時,您的應用程式都必須正確管理無權使用者的存取和體驗。這會測試 案例:您的服務處理客戶請求

  5. 測試客戶加入後,使用 中的 BatchMeterUsage API 操作,提出請求,以將計量記錄傳送到 AWS 進行計費 AWS Marketplace Metering Service。這會測試 案例:計量器用量

  6. 測試訂閱變更。確認您的應用程式正確處理取消訂閱、成功訂閱和失敗的訂閱案例。這會測試 案例:監控使用者權限的變更

  7. 在您完成所有整合要求並測試解決方案之後,請通知 AWS Marketplace 賣方營運團隊。然後,他們會驗證您已成功呼叫 GetEntitlements API 操作並充分加入新客戶,以測試解決方案。他們也會確認您已成功使用 BatchMeterUsage API 操作傳送計量記錄。

整合和測試完成後,您可以執行最終審核並在公開上列出您的產品 AWS Marketplace。如需詳細資訊,請參閱在 中建立 SaaS 產品 AWS Marketplace