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

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

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

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

注意

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

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

當客戶訂閱您的產品時,他們會重新導向至您的註冊 URL,這是一個含有暫時x-amzn-marketplace-token權杖的 HTTP POST 要求。請採用下列方式回應此請求:

  1. 將權杖交換為CustomerIdentifierCustomerAWSAccountId、,並ProductCode呼叫中的 ResolveCustomer API 作業AWS Marketplace Metering Service。

  2. 呼叫中的 GetEntitlements動作,以驗證客戶有權存取的訂閱和數量 (如果適用)AWS Marketplace Entitlement Service。

  3. 堅持CustomerIdentifierCustomerAWSAccountId, 和ProductCode在您的系統中用於 future 的呼叫。存儲客戶是否擁有有效的訂閱,以及您需要的有關客戶的任何信息。

  4. 作為對請求的回應,您必須顯示用戶的第一次使用體驗(如果您的服務適用)。

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

當客戶向您的服務提出要求時,您必須使用適當的動作或訊息回應下列案例:

  • 他們在您的系統中沒有客戶 ID。這意味著他們尚未訂閱。您應該向他們提供描述如何訂閱的消息。

  • 他們具有客戶 ID,且GetEntitlements API 作業會傳回適當的權益。在這個案例中,您應該滿足要求。

  • 他們確實有客戶 ID,但GetEntitlements API 作業不會傳回任何權利,或沒有足夠的數量來滿足要求。在此案例中,您必須決定如何處理存取及管理其經驗。

案例:儀表使用情況

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

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

  • 計量請求會在小時內刪除重複項目。

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

  • 我們強烈建議您做為最佳作法,即使最後一小時沒有記錄,您也會每小時傳送計量記錄,使用量為 0。

案例:監視使用者軟體權利文件的變更

設定 Amazon Simple Queue Service (Amazon SQS) 佇列,然後訂閱產品的 Amazon SNS 主題 — 這裡有兩個 SNS 主題,一個用於權益變更,另一個用於訂閱變更。您的主題資訊已包含在您建立產品時,由AWS Marketplace賣家營運團隊收到的電子郵件訊息中。如需詳細資訊,請參閱建立軟體 SaaS 產品。透過訂閱 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 以供 future 通話使用,並正確處理客戶擁有的權利。這測試的一部分案例:您的服務會驗證新客戶.

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

  4. 如果GetEntitlements API 作業 (無論是在上線期間或進行中的驗證通行證中) 都沒有傳回任何權利,您的應用程式必須正確管理無權使用者的存取權和體驗。這個測試案例:您的服務會處理客戶要求

  5. 在測試客戶加入之後,請使用中的BatchMeterUsage API 作業提出要求,將計量記錄傳送至AWS計費目的AWS Marketplace Metering Service。這個測試案例:儀表使用情況

  6. 測試訂閱變更。確認您的應用程式正確處理取消訂閱、成功的訂閱和失敗的訂閱案例。這個測試案例:監視使用者軟體權利文件的變更

  7. 完成所有整合需求並測試解決方案後,請通知AWS Marketplace賣家營運團隊。接著,他們會驗證您是否已成功呼叫GetEntitlements API 作業,並且已充分加入新客戶,以測試解決方案。他們也會驗證您是否已透過BatchMeterUsage API 作業成功傳送計量記錄。

整合和測試完成後,您可以進行最後審核,並在公眾上架您的產品AWS Marketplace。如需詳細資訊,請參閱 建立軟體 SaaS 產品