View a markdown version of this page

使用賣方產品 - AWS Marketplace

AWS Marketplace API 參考已重組。如需支援的 API 操作的詳細資訊,請參閱 AWS Marketplace API 參考

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

使用賣方產品

您可以使用 AWS Marketplace Catalog API自動化使用賣方產品的任務。這包括建立、更新、檢視、列出和排序產品的功能。這可讓您自動化產品管理。例如,您可以在 上提供自助發佈功能AWS Marketplace 管理入口網站。

產品是您打算銷售的單位或資源AWS Marketplace,通常稱為基本產品。在您新增產品資訊、部署屬性和帳單資訊之前,買方無法使用基本產品。

產品說明您要銷售之清單的產品資訊、軟體部署屬性和計費機制。產品必須與 優惠配對,才能成為您可以銷售且買方可在其中使用的可交易單位AWS Marketplace。

您也可以使用 AWS Marketplace Catalog API來:

每個產品類型都有不同的產品實體。實體可以是產品或優惠AWS Marketplace。支援下列產品類型和實體:

產品類型 實體
Amazon Machine Image (AMI) 產品 AmiProduct@1.0
容器產品 ContainerProduct@1.0
軟體即服務 (SaaS) 產品 SaaSProduct@1.0
機器學習 (ML) 產品 MachineLearningProduct@1.0
注意

不支援具有CloudFormation產品類型、AWS Data Exchange資料產品和專業服務產品的單一 AMI。

下列主題假設您具有 API 的存取權,且已完成任何賣方先決條件,如中所述AWS Marketplace目錄 API 的存取控制

請參閱下列資源:

  • 若要了解使用AWS Marketplace目錄 API 的基本概念,請參閱 使用 AWS Marketplace 目錄 API

  • 如需具有工作程式碼範例的end-to-end實驗室,請參閱 AWS Marketplace賣方研討會中的使用 API 管理產品

  • 如需 API 請求的程式碼範例,請參閱 GitHub 上AWS範例中的 PythonJava 範例。

下列主題說明如何使用目錄 API 對單一 AMI 產品、容器型產品或 SaaS 產品執行動作。

建立產品

注意

只有在您想要在AWS Marketplace目錄中建立全新的產品實體時,才需要此變更類型。更新現有產品時不需要。

您可以使用目錄 API,在其中建立具有識別符 (產品代碼和產品 ID) 的 AMI、容器、機器學習或 SaaS 產品文件AWS Marketplace。

您可以透過使用CreateProduct變更類型呼叫 StartChangeSet API 操作來建立處於 Draft 狀態的產品。

如果您的請求處理成功, 會為您AWS Marketplace Catalog API產生處於 Draft 狀態的產品。這是不完整的產品,買方看不到AWS Marketplace。

然後,您可以使用Update變更類型來完成建立產品程序:UpdateInformationUpdateDimensionsUpdateTargetingUpdateVisibility

產品完成後,您可以使用 ReleaseProduct 變更類型來完成產品建立程序,然後釋出優惠。此程序會驗證整個產品,並將產品移至 Limited 狀態。

注意

如需使用 建立產品的詳細資訊AWS Marketplace 管理入口網站,請參閱 AWS Marketplace賣方指南中的下列主題:

如果您使用 AWS Marketplace 管理入口網站建立產品,產品將處於 Staging 狀態。

若要建立處於 Draft 狀態的產品,請使用 CreateProduct 變更類型呼叫 StartChangeSet API 操作,如下列範例所示。

請求語法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType":"CreateProduct", "Entity":{ "Type": "SaaSProduct@1.0" // choose from ["AmiProduct@1.0", "ContainerProduct@1.0", "SaaSProduct@1.0", "MachineLearningProduct@1.0"] }, "DetailsDocument": { "ProductTitle": "Test product title set in CreateProduct" } } ] }

提供要新增CreateProduct變更類型的欄位資訊。此變更類型可以採用 ProductTitle 屬性,但需遵守與傳送至UpdateInformation變更類型的相同限制。

  • Entity (物件) (必要) – 所建立物件的命名類型。

    • Type (字串) (必要) – Type是以您的產品將使用的交付方法 (產品類型) 為基礎:AmiProduct@1.0ContainerProduct@1.0MachineLearningProduct@1.0SaaSProduct@1.0。如需詳細資訊,請參閱識別符

  • DetailsDocument (物件) (必要) – 可能空白。

    • ProductTitle (選用) – 您產品的標題,長度上限為 72 個字元。請注意,您也可以稍後透過UpdateInformation變更類型設定或更新產品標題。

回應語法

為您的請求建立變更集。對此請求的回應為您提供變更集ChangeSetIdChangeSetArn的 和 ,如下所示。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef" }

變更請求會新增至佇列並進行處理。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站,或使用 API 操作直接透過目錄 DescribeChangeSet API。

當請求完成時 (如果 StatusSUCCEEDED),ProductId會產生新的 。

同步驗證

下列結構描述驗證專屬於 中的CreateProduct動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行StartChangeSet。如果請求不符合下列要求,它會失敗並顯示 HTTP 回應。

輸入欄位 驗證規則 HTTP 代碼
ProductTitle (字串) 長度上限:72 400
非同步錯誤

下列錯誤專屬於 中的CreateProduct動作AWS Marketplace Catalog API。當您在處理變更集DescribeChangeSet之後呼叫 時,會傳回這些錯誤。如需使用 DescribeChangeSet取得變更請求狀態的詳細資訊,請參閱 使用變更集

錯誤碼 錯誤訊息
INVALID_INPUT ProductTitle 欄位中發現不適當的內容 '{InappropriateContent}'。提供沒有不適當內容的 ProductTitle。

更新產品詳細資訊

如果您已有產品AWS Marketplace,您可以使用目錄 API 來更新 AMI、容器、ML 或 SaaS 產品的產品詳細資訊。

注意

如需使用 更新產品詳細資訊的詳細資訊AWS Marketplace 管理入口網站,請參閱《 AWS Marketplace賣方指南》中的下列主題:

若要更新產品詳細資訊,請使用UpdateInformation變更類型和您要變更的詳細資訊呼叫 StartChangeSet API 操作,如下列範例所示。

請求語法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateInformation", "Entity": { "Identifier": "prod-example12345", "Type": "AmiProduct@1.0" }, "DetailsDocument": { "ProductTitle": "My Product Title", "ShortDescription": "My product short description.", "LongDescription": "My product longer description.", "Sku": "123example456", "LogoUrl": "https://awsmp-logos.s3.amazonaws.com/ca60b754fe05a24257176cdbf31c4e0d", "VideoUrls": [ "https://example.com/my-video" ], "Highlights": [ "123example45" ], "AdditionalResources": [ { "Text": "123example456", "Url": "https://example.com/some-link" } ], "SupportDescription": "Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.", "Categories": [ "Operating Systems", "Network Infrastructure", "Application Development" ], "SearchKeywords": [ "123example456" ] } } ] }

提供要新增UpdateInformation變更類型的欄位資訊:

  • Entity (物件) (必要) – 要建立之實體的命名類型。

    • Identifier (字串) (必要) – 您的產品 ID。如需詳細資訊,請參閱識別符

    • Type (字串) (必要) – Type是以您的產品將使用的交付方法 (產品類型) 為基礎:AmiProduct@1.0MachineLearningProduct@1.0ContainerProduct@1.0SaaSProduct@1.0

  • DetailsDocument (物件) (必要) – 請求的詳細資訊,包括您要為產品更新的資訊。每個欄位都是選用的,但您必須至少包含一個要更新的變更。

    • ProductTitle (字串) – 要向買方顯示的產品名稱。

    • ShortDescription (字串) – 要向買方顯示的產品關鍵層面描述。這通常是 2-3 個句子。

    • LongDescription (字串) – 要向買方顯示之產品的較長描述。這通常是 1-3 個段落。

    • Sku (字串或 null) – 您定義的自由格式字串,做為您自己使用的參考。使用 null 來取消設定此欄位。

    • LogoUrl (字串) – 可公開存取的 Amazon Simple Storage Service (Amazon S3) 儲存貯體中映像的 URL。如需詳細資訊,請參閱公司和產品標誌需求

    • VideoUrls (字串陣列) – 公開提供、外部託管影片的 URLs 清單,做為產品資訊中買方的參考。

      注意

      目前, AWS Marketplace支援陣列中的一個 URL。

    • Highlights (字串陣列) – 關鍵產品功能的簡短標註清單。

    • AdditionalResources (結構陣列) – 參考其他資源的清單,以了解您的產品。每個參考都由文字名稱和 URL 組成:

      • Text (字串) – 資源的名稱或標題。

      • Url (字串) – 資源的 URL,可能有助於買方了解您的產品。

    • SupportDescription (字串) – 有關產品支援方案的詳細資訊。

    • Categories (字串陣列) – 描述您產品的已定義產品類別清單AWS Marketplace。如需詳細資訊,請參閱《 AWS Marketplace 買方指南》中的產品類別

    • SearchKeywords (字串陣列) – 您產品的關鍵字清單,以增強搜尋體驗。賣方名稱、產品名稱和產品類別會自動包含在搜尋關鍵字中,不需要在此重複。

注意

當您最初填入產品的產品資訊 (中繼資料) 時Draft,您需要在UpdateInformation變更類型的 DetailsDocument 物件中提供下列所有項目:ProductTitleShortDescriptionLongDescriptionCategories、、LogoUrlHighlightsAdditionalResourcesSupportDescription、 和 SearchKeywords

如果已在CreateProduct變更類型期間提供,ProductTitle則可以省略 。不過,當您更新產品的現有欄位時,您只能在變更類型的 DetailsDocument 物件中包含需要UpdateInformation變更的屬性。

回應語法

為您的請求建立變更集。對此請求的回應為您提供變更集ChangeSetIdChangeSetArn的 和 ,如下所示。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef" }

變更請求會新增至佇列並進行處理。

若要檢查請求狀態,請使用 AWS Marketplace 管理入口網站或呼叫 DescribeChangeSet API。

同步驗證

下列結構描述驗證專屬於 中的UpdateInformation動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行StartChangeSet。如果請求不符合下列要求,它會失敗並顯示 HTTP 回應。

輸入欄位 驗證規則 HTTP 代碼
字串 (一般) 無控制字元 "\\x00-\\x08\\x0B-\\x1F" 400
ProductTitle (字串) 長度上限:72

必要

400
ShortDescription (字串) 長度上限:1000

必要

400
LongDescription (字串) 長度上限:5000

必要

400
Sku (字串) 長度上限:100

選用

400
LogoUrl (字串)

URL 模式:

^https://(www\.)?【-a-zA-Z0- 9@.】{1,256}\.【a-zA-Z0-9()】{2,63}\b(【-a-zA- Z0-9@+./】*)

必要

400
VideoUrls (字串陣列)

URL 模式:

https://(www\\.)?【-a-zA-Z0- 9@._】{1,256}\\.【a-zA-Z0-9()】{2,63}\\b(【-a-zA-Z0-9@_+\\/】

選用

400
反白 (字串陣列) 必要:最小值 1 - 最大值 3 400
AdditionalResources (結構陣列) 長度上限:500

選用

400
SupportDescription (字串) 長度上限:2000

必要

400
類別 (字串陣列) 最小值 1 - 最大值 3

必要

400
SearchKeywords (字串陣列) 最小值 1 - 最大值 15

每個項目最多 50 個字元

必要

400

非同步錯誤

下列錯誤專屬於 中的UpdateInformation動作AWS Marketplace Catalog API。當您在處理變更集DescribeChangeSet之後呼叫 時,會傳回這些錯誤。如需使用 DescribeChangeSet 取得變更請求狀態的詳細資訊,請參閱 使用變更集

錯誤碼 錯誤訊息
MISSING_DATA 未提供任何資料來執行更新。提供至少 1 個產品欄位的資料。
INVALID_INPUT 提供 LogoUrl。
INVALID_INPUT 提供 ProductTitle。
INVALID_INPUT 提供 ShortDescription。
INVALID_INPUT 提供 LongDescription。
INVALID_INPUT 提供 SupportDescription。
INVALID_INPUT 提供至少一個搜尋關鍵字。
INVALID_INPUT 提供至少一個反白顯示。
INVALID_INPUT 提供 1 到 3 個產品類別。
INVALID_INPUT ProductTitle 欄位中發現不適當的內容 '{InappropriateContent}'。提供沒有不適當內容的 ProductTitle。
INVALID_INPUT ShortDescription 欄位中發現不適當的內容 '{InappropriateContent}'。提供 ShortDescription,沒有不適當的內容。
INVALID_INPUT 在 LongDescription 欄位中找到不適當的內容 '{InappropriateContent}'。提供沒有不適當內容的 LongDescription。
INVALID_INPUT SupportDescription 欄位中發現不適當的內容 '{InappropriateContent}'。提供 SupportDescription,沒有不適當的內容。
INVALID_INPUT 無效的 ProductTitle 欄位。在商標符號之前移除空格。
INVALID_INPUT 無效的 ShortDescription 欄位。在商標符號之前移除空格。
INVALID_INPUT 無效的 LongDescription 欄位。在商標符號之前移除空格。
INVALID_INPUT SupportDescription 欄位無效。移除商標符號之前的空格。
INVALID_INPUT 無效的 ProductTitle 欄位。移除不支援的字元 【UnsupportedCharacters】。
INVALID_INPUT 無效的 ShortDescription 欄位。移除不支援的字元 【UnsupportedCharacters】。
INVALID_INPUT 無效的 LongDescription 欄位。移除不支援的字元 【UnsupportedCharacters】。
INVALID_INPUT SupportDescription 欄位無效。移除不支援的字元 【UnsupportedCharacters】。
INVALID_INPUT 搜尋關鍵字不可超過 250 個字元。
INVALID_INPUT 無法讀取此變更類型的輸入。提交格式正確的輸入。
INVALID_ADDITIONAL_RESOURCES AdditionalResources 中的無效 URLs:【InvalidAdditionalResourcesUrls】 提供有效的 URLs。
INVALID_CATEGORY_NAMES 提供 支援的有效類別名稱AWS Marketplace。
InvalidImageProperties 發現驗證錯誤:檔案不是映像類型。支援的影像類型:【png|jpg|gif】。
EXPLICIT_CONTENT 明確內容:偵測到 '{ExplicitContent}'。提供沒有明確內容的媒體。
INVALID_MEDIA 無效的 URL:{MediaUrl} 為存放在 S3 中的媒體提供新的 URL。
INVALID_MEDIA 無效的 URL:{MediaUrl} 提供不超過 2048 個字元的有效 URL。
INVALID_MEDIA 提供的位置無法存取:{MediaUrl} 為存放在 S3 中的媒體提供可存取的 URL。
INVALID_MEDIA 從 S3 複製媒體時發生問題。影像大小超過 5 MB。提供小於 5 MB 的映像。
INVALID_MEDIA 在媒體中偵測到惡意軟體。請重新提交不含惡意軟體的媒體。
TOO_MANY_MEDIA 提供不超過 15 個媒體項目。
DUPLICATE_MEDIA 產品不允許重複媒體。請提供沒有重複項目的媒體。

新增定價維度

您可以使用 AWS Marketplace Catalog Service Actions 來新增計費定價維度,讓您能夠向使用者收取 AMI、容器或 SaaS 產品的費用。

定價維度是賣方為向買方收費而定義的度量單位。賣方必須設定此資訊來向買方收取使用產品的帳單,無論是以用量為基礎還是以合約為基礎的定價模式。維度的類型取決於產品的定價模式。

注意

對於具有免費定價模型的 SaaS 產品,您必須使用 UsageBasedPricingTerm 或 ConfigurableUpfrontPricingTerm 建立至少一個維度,且所有維度的價格必須為 0.00 美元。此需求專屬於 SaaS 產品,不適用於 AMI、容器或機器學習產品。

注意

新的定價維度對 SaaS 買方有下列影響:

  • 對於具有從公開優惠建立之協議的買方,您可以報告新維度的耗用量,即使它們在建立協議時不存在於優惠中。

  • 對於使用私有優惠建立協議的買方,您無法報告新維度的耗用量,因為在建立協議時,它們不存在於私有優惠中。呼叫 BatchMeterUsage API 將會成功,但不會向買方收費,因此您必須追蹤哪些買方可以或不能為任何新維度收費。您也可以使用 GetAgreementTerms API 來查看每個買方協議中包含的維度。

    若要報告新維度的耗用量並向買方收取費用,您必須擴展包含該維度的替代優惠,且買方必須接受該優惠。

如需產品定價的詳細資訊,請參閱《 AWS Marketplace賣方指南》中的下列主題:

如需使用 新增定價維度的詳細資訊AWS Marketplace 管理入口網站,請參閱 AWS Marketplace賣方指南中的下列主題:

若要新增定價維度,請呼叫具有AddDimensions變更類型的 StartChangeSet API,如下列範例所示。

注意

提交第一個具有指定定價模式維度AddDimensions的變更類型之後,您必須與AWS Marketplace賣方營運團隊合作:使用量、合約或合約使用量。它們可協助您新增類型在原始定價模型之外的維度。

請求語法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "AddDimensions", "DetailsDocument": [ { "Description": "Description of the dimension", "Key": "UniqueApiKey", "Unit": "HostHrs", "Name": "First Dimension", "Types": [ "ExternallyMetered" ] } ], "Entity": { "Identifier": "prod-example12345", "Type": "SaaSProduct@1.0" } } ] }

提供變更AddDimensions類型的下列欄位。

  • DetailsDocument (物件陣列) (必要) – 請求的詳細資訊。

    • Description (字串) (必要) – 維度的完整詳細資訊,該維度將是買方檢視頁面上的詳細描述。

    • Key (字串) (必要) – 在將用於定義優惠中費率的構面中輸入 。此外,如果無法從外部計量維度,請輸入發佈至 AWS Marketplace Metering Service(MMS) 的維度。維度建立之後,就無法變更。

    • Units (字串) (必要) – 維度的單位類型。可能的單位包括使用者、主機、GB、MB、TB、Gbps、Mbps、請求、單位、UserHrs、UnitHrs、單位、HostHrs、TierHrs 和 TaskHrs。

    • Name (字串) (必要) – 網站和客戶帳單上維度的顯示名稱。

      • Types (字串陣列) (必要) (也稱為標籤) – 這些指示維度是否涵蓋外部計量、權利或支援外部計量。這在建立維度之後無法變更。

        • Metered – 表示應建立 Commerce Platform 用量類型,以允許針對此維度進行計量。

        • ExternallyMetered – 表示應在發佈期間建立AWS Marketplace計量服務 (MMS) 維度,以允許賣方透過 AWSSDK 計量。

        • Entitled – 表示可以在產品或優惠發佈期間授予維度的權限。

          下表列出支援的定價維度和產品組合。

          定價維度類型 產品類型
          [Metered] AMI
          [Metered, ExternallyMetered] SaaS、AMI/彈性消費定價 (FCP)

          ExternallyMetered 出現 時, Metered會遮罩/推斷。

          [Entitled] SaaS 合約、ProServ 產品

          Entitled 標籤授予使用軟體/服務開始和結束日期的權限。此外,授予 AMI 年度產品使用折扣的權利。中的 會識別每個權利,Dimension KeyAWS Marketplace Entitlement Service以建立或更新權利。

          [Metered, ExternallyMetered, Entitled] 具有消費定價的合約可以預付或計量維度,是 【ExternallyMetered】 和 【】 的組合Entitled
  • Entity (物件) (必要) – 要建立之實體的命名類型。

    • Identifier (字串) (必要) – 您的產品 ID。如需詳細資訊,請參閱識別符

    • Type (字串) (必要) – Type是以您的產品將使用的交付方法 (產品類型) 為基礎: AmiProduct@1.0SaaSProduct@1.0

回應語法

為您的請求建立變更集。對此請求的回應為您提供變更集ChangeSetIdChangeSetArn的 和 ,如下所示。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef" }

變更請求會新增至佇列並進行處理。這包括驗證資訊,以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站,或使用 API 操作直接透過目錄 DescribeChangeSet API。

同步驗證

下列結構描述驗證專屬於 中的AddDimensions動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行StartChangeSet。如果請求不符合下列要求,它會失敗並顯示 HTTP 回應。

輸入欄位 驗證規則 HTTP 代碼
說明 長度上限:1000

必要

400
金錀 長度上限:100

模式:【A-Za-z0-9_.-】+$

必要

400
維度單位 長度上限:20

必要

400
名稱 長度上限:500

必要

400
類型 (標籤)

必要:最小值 1 - 最大值 3

輸入:Entitleed, Metered, ExternallyMetered

必要

400

非同步錯誤

下列錯誤專屬於 中的AddDimensions動作AWS Marketplace Catalog API。當您在處理變更集DescribeChangeSet之後呼叫 時,會傳回這些錯誤。如需使用 DescribeChangeSet 取得變更請求狀態的詳細資訊,請參閱 使用變更集

錯誤碼 錯誤訊息
MISSING_DATA 未提供任何資料來執行更新。提供至少 1 個維度的資料。
INVALID_DIMENSION 提供不超過 200 個維度。
INVALID_DIMENSION 無法新增重複的維度。
INVALID_DIMENSION 維度無法在目前狀態 '%s' 中新增。支援維度更新的狀態為 %s。
INVALID_DIMENSION 無法新增維度。欄位 '%s' 在其他維度中有重複值 '%s'。
INVALID_DIMENSION 為每個維度提供非空白欄位 (金鑰、單位、名稱、類型)。
IINVALID_TYPE 移除無效類型 '%s'。有效類型為 【"Metered"、"Entitled"、"ExternallyMetered"】。
INVALID_UNIT 移除無效的單位 '%s'。有效單位為 【"GB"、"Gbps"、"HostHrs"、"Hosts"、"MB"、"Mbps"、"Requests"、"TaskHrs"、"TB"、"TierHrs"、"UnitHrs"、"Units"、"UserHrs"、"Users"】。
INVALID_INPUT 在 %s 欄位中發現不適當的內容 '%s'。提供沒有不適當內容的 %s。
INVALID_INPUT 無效的 '%s' 欄位。在商標符號之前移除空格。
INVALID_INPUT 無效的 '%s' 欄位。移除不支援的字元 %s。
INVALID_DIMENSION 移除無效的維度類型組合 %s。允許的值為 %s。
INVALID_DIMENSION 移除計量維度的無效維度索引鍵 '%s'。
INVALID_DIMENSION productCode '%s' 的名為 '%s' 的維度未通過AWS Marketplace計量服務驗證 %s。
INVALID_DIMENSION productCode '%s' 的名為 '%s' 的維度在計量服務中沒有計量記錄。產品從未啟動進行測試或設定錯誤,且未對AWS Marketplace計量服務進行適當的呼叫。

更新定價維度

您可以使用目錄 API 來更新 AMI、容器或 SaaS 產品的現有定價維度AWS Marketplace。

每個維度都是由維度索引鍵和維度類型唯一識別,以執行更新。更新維度不會影響原始維度建立的任何作用中優惠或客戶。

注意

如需使用 更新定價維度的詳細資訊AWS Marketplace 管理入口網站,請參閱《 AWS Marketplace賣方指南》中的下列主題:

若要更新定價維度,請使用UpdateDimensions變更類型呼叫 StartChangeSet API 操作,如下列範例所示。

請求語法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateDimensions", "DetailsDocument": [ { "Key": "UniqueApiKey", "Types": [ "ExternallyMetered" ], "Name": "First Dimension", "Description": "Description of the dimension" } ], "Entity": { "Identifier": "prod-example12345", "Type": "SaaSProduct@1.0" } } ] }

使用具有UpdateDimensions變更類型的下列欄位:

  • DetailsDocument (物件陣列) (必要) – 請求的詳細資訊。

    • Key (字串) (必要) – 從產品提供現有維度的索引鍵,以變更描述和名稱。對於 UpdateDimension,此欄位僅用於識別要變更的維度。

    • Types (字串陣列) (必要) (也稱為標籤) – 這些指示維度是否涵蓋外部計量、權利或支援外部計量。這在建立維度之後無法變更。

      • Metered – 表示應建立 Commerce Platform 用量類型,以允許針對此維度進行計量。

      • ExternallyMetered – 表示應該在發佈期間建立 AWS Marketplace Metering Service(MMS) 維度,以允許賣方透過 AWSSDK 計量。

      • Entitled – 表示可以在產品/優惠發佈期間授予維度的權限。

        有效的定價維度類型組合
        定價維度類型 產品
        [Metered] AMI
        [ExternallyMetered] SaaS、AMI/彈性消費定價 (FCP)

        ExternallyMetered 出現時,會遮罩/推斷計量

        [Entitled] SaaS 合約、ProServe 產品

        Entitled標籤授予使用軟體/服務集用量的開始和結束日期的權限。此外,授予 AMI 年度產品使用折扣的權利。中的維度鍵可識別每個權利,AWS Marketplace Entitlement Service以建立或更新權利。

        [ExternallyMetered, Entitled] 使用 定價的合約,其中維度可以預付或計量是 【ExternallyMetered】 和 【】 的組合Entitled
    • Description (字串) (選用 – 維度的完整描述,該維度將是買方檢視頁面上的長描述。

    • Name (字串) 選用 – 網站和客戶帳單上維度的 DIsplay 名稱。

  • Entity (物件) (必要) – 要建立之實體的命名類型。

    • Identifier (字串) (必要) – 您的產品 ID。如需詳細資訊,請參閱識別符

    • Type (字串) (必要) – Type是以您的產品將使用的交付方法 (產品類型) 為基礎: AmiProduct@1.0SaaSProduct@1.0

回應語法

為您的請求建立變更集。對此請求的回應為您提供變更集ChangeSetIdChangeSetArn的 和 ,如下所示。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef" }

變更請求會新增至佇列並進行處理。這包括驗證資訊,以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站,或使用 API 操作直接透過目錄 DescribeChangeSet API。

同步驗證

下列結構描述驗證專屬於 中的UpdateDimensions動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行StartChangeSet。如果請求不符合下列要求,它會失敗並顯示 HTTP 回應。

輸入欄位 驗證規則 HTTP 代碼
說明

長度上限:1000

必要

400
金錀

長度上限:100

模式:【A-Za-z0-9_.-】+$

必要

400
名稱

長度上限:5

必要

400
類型 (標籤)

必要:最小值 1 - 最大值 3

輸入:EntitledMeteredExternallyMetered

必要

422

非同步錯誤

下列錯誤專屬於 中的UpdateDimensions動作AWS Marketplace Catalog API。當您在處理變更集DescribeChangeSet之後呼叫 時,會傳回這些錯誤。如需使用 DescribeChangeSet 取得變更請求狀態的詳細資訊,請參閱 使用變更集

錯誤碼 錯誤訊息
INVALID_INPUT 無效的 '%s' 欄位。在商標符號之前移除空格。
INVALID_INPUT 無效的 '%s' 欄位。移除不支援的字元 %s。
INVALID_DIMENSION 為每個維度提供非空白欄位 (TypesKeyName和/或 Description)。
INVALID_DIMENSION 無法更新維度。欄位在其他維度中有Name重複的值 '%s'。
INVALID_DIMENSION 無法使用金鑰 '%s' 更新相同的維度,並在相同的請求中多次輸入 '%s'。
INVALID_DIMENSION 無法限制維度。類型為 '%s' 的維度索引鍵 '%s' 不存在。
INVALID_DIMENSION 無法更新維度。維度索引鍵 '%s' 是 Metered
INVALID_DIMENSION 無法更新已限制維度的維度。

限制定價維度

您可以使用目錄 API 來限制 AMI 或 SaaS 產品的現有定價維度AWS Marketplace。

每個維度都是由維度索引鍵和維度類型唯一識別,以執行更新。限制維度不會影響原始維度已建立的任何作用中優惠或客戶。

若要限制定價維度,請呼叫具有RestrictDimensions變更類型的 StartChangeSet API。

注意

定價維度限制僅適用於產品處於草稿狀態時。一旦產品移至有限或公有狀態,即不允許變更。

下列範例示範如何限制 SaaS 產品的Entitled維度。

請求語法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "RestrictDimensions", "DetailsDocument": [ { "Key": "UniqueApiKey", "Types": ["Entitled"] } ], "Entity": { "Identifier": "prod-example12345", "Type": "SaaSProduct@1.0" } } ] }

使用具有RestrictDimensions變更類型的下列欄位:

  • DetailsDocument (物件陣列) (必要) – 請求的詳細資訊。

    • Key (字串) (必要) – 從產品提供現有維度的索引鍵,以變更描述和名稱。對於 RestrictDimensions,此欄位僅用於識別要變更的維度。

    • Types (字串陣列) (必要) (也稱為標籤) – 這些指示維度是否涵蓋外部計量、權利或支援外部計量。這在建立維度之後無法變更。

      • ["ExternallyMetered", "Entitled"] – 您只能將這些類型的 SaaS 合約與消費定價結合,其中可以預付或計量維度。

      • ["Metered"] – 適用於 AMI 產品的每小時定價維度。表示應建立 Commerce Platform 用量類型,以允許針對此維度進行計量。

      • ["ExternallyMetered"] – 用於 AMI、容器和 SaaS 產品的彈性耗用量定價維度 (也稱為自訂計量)。指出AWS應該在發佈期間建立 Marketplace Metering Service (MMS) 維度,以允許賣方透過 SDK AWS進行計量。

      • ["Entitled"] – 適用於 SaaS 合約和專業服務產品的合約定價維度。此標籤授予使用軟體或服務的權限、設定用量的開始和結束日期,以及授予 AMI 年度產品的用量折扣權限。中的維度索引鍵可識別每個權利,AWS Marketplace Entitlement Service以建立和更新權利。金鑰表示可以在產品和優惠發佈期間授予維度的權利。

  • Entity (物件) (必要) – 所建立實體的命名類型。

    • Identifier (字串) (必要) – 您的產品 ID。如需詳細資訊,請參閱識別符

    • Type (字串) (必要) – Type是以您產品的交付方法 (產品類型) AmiProduct@1.0或 為基礎SaaSProduct@1.0

回應語法

為您的請求建立變更集。對此請求的回應為您提供變更集ChangeSetIdChangeSetArn的 和 ,如下所示。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef" }

變更請求會新增至佇列並進行處理。這包括驗證資訊,以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 或呼叫 DescribeChangeSet API AWS Marketplace 管理入口網站來檢查請求的狀態。

同步驗證

下列結構描述驗證專屬於 中的RestrictDimensions動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行StartChangeSet。如果請求不符合下列要求,它會失敗並顯示 HTTP 回應。

輸入欄位 驗證規則 HTTP 代碼
說明

長度上限:1000

必要

400
金錀

長度上限:100

模式:【A-Za-z0-9_.-】+$

必要

400
名稱

長度上限:5

必要

400
類型 (標籤)

必要:最小值 1 - 最大值 3

輸入:EntitledMeteredExternallyMetered

必要

400

非同步錯誤

下列錯誤專屬於 中的RestrictDimensions動作AWS Marketplace Catalog API。當您在處理變更集DescribeChangeSet時呼叫 時,會傳回這些錯誤。如需使用 DescribeChangeSet 取得變更請求狀態的詳細資訊,請參閱 使用變更集

錯誤碼 錯誤訊息
INVALID_INPUT 無效的 '%s' 欄位。在商標符號之前移除空格。
INVALID_INPUT 無效的 '%s' 欄位。移除不支援的字元 %s。
INVALID_DIMENSION 類型為 '%s' 的維度索引鍵 '%s' 已受到限制
INVALID_DIMENSION 無法限制維度。類型為 '%s' 的維度索引鍵 '%s' 不存在
INVALID_DIMENSION 無法限制重複的維度。
INVALID_DIMENSION 無法限制所有具備權限的維度。必須至少有一個作用中的已授權維度。
INVALID_DIMENSION 類型為 '%s' 的維度索引鍵 '%s' 與不同類型 '%s' 的另一個維度相關聯。相同金鑰的兩個維度必須同時受到限制,才能有效。

更新目標組態

您可以使用目錄 API 來新增允許在 中檢視 AMI、容器、ML 或 SaaS 產品的 AWS 帳戶IDs,AWS Marketplace然後再呼叫UpdateTargeting變更類型以移至 Public 狀態。

建立新產品時,受管目錄操作 (MCO) 帳戶會自動新增至允許的帳戶清單。檢視允許的帳戶時, AWS Marketplace管理入口網站 (AMMP) 中的賣方可以看到這些 MCO 帳戶,並在 DescribeEntity API 回應的 Targeting區段中看到這些 MCO 帳戶。

注意

如需使用 新增 AWS 帳戶IDs 的詳細資訊AWS Marketplace 管理入口網站,請參閱《 AWS Marketplace賣方指南》中的下列主題:

若要允許檢視 AMI、容器、ML 或 SaaS 產品的 AWS 帳戶IDs,請使用UpdateTargeting變更類型呼叫 StartChangeSet API 操作,如下列範例所示。

請求語法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateTargeting", "Entity": { "Type": "SaaSProduct@1.0", "Identifier": "prod-example12345" }, "DetailsDocument": { "PositiveTargeting": { "BuyerAccounts": [ "1112223334444" ] } } } ] }

使用下列具有UpdateTargeting變更類型的欄位。

  • Entity (物件) (必要) – 所建立實體的命名類型。

    • Identifier (字串) (必要) – 您的產品 ID。如需詳細資訊,請參閱識別符

    • Type (字串) (必要) – Type是以您的產品將使用的交付方法 (產品類型) 為基礎:AmiProduct@1.0MachineLearningProduct@1.0SaaSProduct@1.0

  • DetailsDocument (物件) (必要) – 執行 ChangeSet 所需的詳細資訊。

    • PositiveTargeting (物件) (選用) – 正面鎖定定義任何買方設定檔應滿足的條件,以允許其存取優惠。此欄位是選用的,但當此欄位存在時,應至少提供一個目標選項。

      • BuyerAccounts (字串陣列) (選用) – 列出 選項,以允許根據 AWS 帳戶 (也稱為 Private Offer) 進行目標鎖定。如果意圖不是以 AWS 帳戶的提議為目標,則應省略此欄位。

回應語法

為您的請求建立變更集。對此請求的回應為您提供變更集ChangeSetIdChangeSetArn的 和 ,如下所示。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef" }

變更請求會新增至佇列並進行處理。這包括驗證資訊,以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

若要檢查請求狀態,請使用 AWS Marketplace 管理入口網站或呼叫 DescribeChangeSet API。

當請求完成時 (如果 StatusSUCCEEDED),ProductId會產生新的 。

同步驗證

下列結構描述驗證專屬於 中的UpdateTargeting動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行StartChangeSet。如果請求不符合下列要求,它會失敗並顯示 HTTP 回應。

鎖定目標的類型 有效的目前可見性狀態 BuyerAccounts (輸入) Check
積極 公有Limited、 或 Draft

12 位數 AWS 帳戶ID 字串陣列。

最小大小:0。

大小上限:5000。

輸入必須與目前的文件目標帳戶不同。

輸入必須為有效AWS 帳戶。

非同步錯誤

下列錯誤專屬於 中的DescribeChangeSet動作AWS Marketplace Catalog API。當您在處理變更集DescribeChangeSet之後呼叫 時,會傳回這些錯誤。如需使用 DescribeChangeSet 取得變更請求狀態的詳細資訊,請參閱 使用變更集

錯誤碼 錯誤訊息
INVALID_PRODUCT_VISIBILITY 使用現有的 Public LimitedDraft 產品。
INVALID_AWS_ACCOUNT_IDS 提供 validAWS 帳戶IDs. AWS 帳戶找不到:【x, y, z】。
ValidationException 專業服務產品沒有允許清單。與其他產品類型不同,狀態有限的專業服務產品可以延伸到任何買方,而不需要允許清單。

更新產品可見性

您可以使用目錄 API 來更新 AMI、容器、ML 或 SaaS 產品的可見性 (也稱為生命週期狀態)AWS Marketplace。

注意

如需使用 更新產品可見性的詳細資訊AWS Marketplace 管理入口網站,請參閱 AWS Marketplace賣方指南中的下列主題:

允許的目標生命週期狀態為 LimitedPublicRestricted

Limited

產品已完成,且已成功完成 ReleaseProduct ChangeType。賣方可以檢視處於此狀態的產品詳細資訊。產品不是公開的。不過,賣方可以鎖定特定買方,以允許 預覽產品。

Public

產品會顯示在 中AWS Marketplace。買方可以檢視和訂閱產品。

Restricted

大眾不會再看到該產品,也不會接受新的訂閱者。現有的訂閱用戶可以繼續使用此產品,直到其訂閱過期為止。

注意

UpdateVisibility 變更類型需要AWS Marketplace賣方營運團隊的手動審核,這會導致執行時間變長。在自己的變更集中UpdateVisibility分別使用 。

若要更新產品的可見性,請使用UpdateVisibility變更類型呼叫 StartChangeSet API 操作,如下列範例所示。

請求語法

對於 TargetVisibilityPublic或 的 Limited

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateVisibility", "Entity": { "Type": "SaaSProduct@1.0", "Identifier": "prod-example12345" }, "DetailsDocument": { "TargetVisibility": "Public" } } ] }

對於 TargetVisibility為 的 Restricted

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateVisibility", "Entity": { "Type": "SaaSProduct@1.0", "Identifier": "prod-example12345" }, "DetailsDocument": { "TargetVisibility": "Restricted", "ReplacementProductId": "prod-example54321" } } ] }

提供要新增UpdateVisibility變更類型的欄位資訊。

  • Entity (物件) (必要) – 所建立實體的命名類型。

    • Identifier (字串) (必要) – 您的產品 ID。如需詳細資訊,請參閱識別符

    • Type (字串) (必要) – Type是以您的產品將使用的交付方法 (產品類型) 為基礎:AmiProduct@1.0SaaSProduct@1.0ContainerProduct@1.0MachineLearningProduct@1.0。如需詳細資訊,請參閱識別符

  • DetailsDocument (物件) (必要) – 執行 所需的詳細資訊ChangeSet

      • TargetVisibility – 產品的預期新可見性。

        可能的值:PublicLimitedRestricted

      • ReplacementProductId (字串) (選用) – 將產品替換為 的產品 IDRestricted。用來通知目前的訂閱者有關產品限制。

        僅接受 Restricted TargetVisibility

同步驗證

下列結構描述驗證專屬於 中的UpdateVisibility動作AWS Marketplace Catalog API。這些驗證會在您呼叫 時執行StartChangeSet。如果請求不符合下列要求,它會失敗並顯示 HTTP 回應。

鎖定目標的類型 有效的目前狀態 ReplacementProductId (輸入) 驗證檢查
公有 LimitedRestricted 不允許 有效的目前狀態
Limited 公有和 Restricted 不允許 有效的目前狀態
Restricted 公有和 Limited 字串 (選用) ReplacementProductId 必須屬於現有Limited或公開產品。

觸發此變更類型後,最多可能需要 37 天才能完成。這包括AWS Marketplace賣方操作團隊需要檢閱、稽核和核准的時間。限制產品時,在AWS Marketplace賣方操作團隊開始稽核CancelChangeSet之前,您有 24 小時可以藉由呼叫 來改變主意。如需詳細資訊,請參閱CancelChangeSet

回應語法

為您的請求建立變更集。對此請求的回應為您提供變更集ChangeSetIdChangeSetArn的 和 ,如下所示。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef" }

變更請求會新增至佇列並進行處理。這包括驗證資訊,以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站,或使用 API 操作直接透過目錄 DescribeChangeSet API。

當請求完成時 (如果 StatusSUCCEEDED),ProductId會產生新的 。

非同步錯誤

下列錯誤專屬於 中的UpdateVisibility動作AWS Marketplace Catalog API。當您在處理變更集DescribeChangeSet之後呼叫 時,會傳回這些錯誤。如需使用 DescribeChangeSet 取得變更請求狀態的詳細資訊,請參閱 使用變更集

錯誤碼 錯誤訊息
INVALID_PRODUCT_STATE 使用現有的 LimitedPublicRestricted產品。
INVALID_TARGET_VISIBILITY 提供有效的目標可見性狀態:PublicLimitedRestricted
EMPTY_TARGET_VISIBILITY 提供有效的目標可見性狀態:PublicLimitedRestricted
INVALID_REPLACEMENT_PRODUCT_ID 使用現有 PublicLimited產品取代。
INVALID_REPLACEMENT_PRODUCT_ID 替換產品 ID 只有在限制產品時才有效。
AUDIT_ERROR 根據 MCO 手動檢閱而有所不同。
MISSING_SELLER_PROFILE_INFORMATION 您必須先將公有設定檔新增至賣方帳戶,才能將產品更新為公有。

發佈產品

您可以使用目錄 API 將 Draft AMI、容器、ML 或 SaaS 產品發佈至 Limited 狀態AWS Marketplace。

注意

對於 AmiProduct@1.0SaaSProduct@1.0ReleaseProduct變更類型必須隨附針對此產品建立之對應草稿公有Offer@1.0實體的變更ReleaseOffer類型。

若要發佈產品,請使用ReleaseProduct變更類型呼叫 StartChangeSet API 操作,如下列範例所示。

請求語法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "ReleaseProduct", "Entity": { "Type": "SaaSProduct@1.0", "Identifier": "prod-example12345" }, "DetailsDocument": {} } ] }

提供要新增至ReleaseProduct變更類型的欄位資訊。此變更類型不會接受任何參數承載。

  • Entity (物件) (必要) – 要建立之實體的命名類型。

    • Identifier (字串) (必要) – 您的產品 ID。如需詳細資訊,請參閱識別符

    • Type (字串) (必要) – Type是以您的產品將使用的交付方法 (產品類型) 為基礎:AmiProduct@1.0SaaSProduct@1.0ContainerProduct@1.0MachineLearningProduct@1.0。如需詳細資訊,請參閱識別符

  • DetailsDocument (物件) (必要) - 必須是空白物件。變更類型ReleaseProduct不接受任何詳細資訊。

回應語法

為您的請求建立變更集。對此請求的回應為您提供變更集ChangeSetIdChangeSetArn的 和 ,如下所示。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef" }

變更請求會新增至佇列並進行處理。這包括驗證資訊,以確保其符合AWS Marketplace準則。驗證程序可能需要幾分鐘到幾個小時。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站,或使用 API 操作直接透過目錄 DescribeChangeSet API。

當請求完成時 (如果 StatusSUCCEEDED),ProductId會產生新的 。

非同步錯誤

下列錯誤專屬於 中的ReleaseProduct動作AWS Marketplace Catalog API。當您在處理變更集DescribeChangeSet之後呼叫 時,會傳回這些錯誤。如需使用 DescribeChangeSet 取得變更請求狀態的詳細資訊,請參閱 使用變更集

錯誤碼 錯誤訊息
VALIDATION_FAILED 提供描述資訊。
VALIDATION_FAILED 提供版本資訊。
VALIDATION_FAILED 提供維度資訊。
VALIDATION_FAILED 提供描述 | PromotionalResources |SupportInformation 資訊。

尋找您的產品 ID

您必須取得產品的產品 ID,才能使用目錄 API 進行AWS Marketplace修改。有兩種方式可以尋找伺服器產品的產品 ID:

  • 開啟 AWS Marketplace 管理入口網站並使用您的賣方帳戶登入。從產品功能表中,選取伺服器產品,然後選擇您感興趣的產品。產品 ID 會列在產品摘要區段中。

  • 搭配 EntityTypeAmiProductContainerProductSaaSProductMachineLearningProduct或 使用 ListEntities動作DataProduct,透過目錄 API 取得產品清單,包括其產品 IDs。 ListEntities要求您不要包含實體類型的版本 (例如 AmiProduct@1.0)。

注意

產品 ID 只有在您的產品發佈後才能使用,且至少可供您自行查看AWS Marketplace。當您首次建立產品時,可能需要幾天的時間才能完成檢閱和完整建立。在此期間,它不會有可用的產品 ID。

下列主題說明如何透過篩選實體 ID、產品標題、上次修改日期或可見性來尋找產品。

根據產品標題尋找產品

請求

POST /ListEntities HTTP/1.1 Content-Type: application/json { "Catalog": "AWSMarketplace", "EntityType": "AmiProduct", "MaxResults": 10, "EntityTypeFilters": { "AmiProductFilters": { "ProductTitle": { "WildCardValue": "XYZ" } } } }

回應

HTTP/1.1 200 Content-type: application/json { "EntitySummaryList": [ { "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example-abcd-1234", "EntityId": "example1-abcd-1234-5ef6-7890abcdef12@1", "EntityType": "AmiProduct", "LastModifiedDate": "2018-02-27T13:45:22Z", "AmiProductSummary": { "ProductTitle": "ABC-XYZ-123", "Visibility": "Public" } } ], "NextToken": "" }

尋找以上次修改日期為基礎的產品

請求

POST /ListEntities HTTP/1.1 Content-Type: application/json { "Catalog": "AWSMarketplace", "EntityType": "AmiProduct", "MaxResults": 10, "EntityTypeFilters": { "AmiProductFilters": { "LastModifiedDate": { "DateRange": { "BeforeValue": "2018-03-27T13:45:22Z", "AfterValue": "2018-01-27T13:45:22Z" } } } } }

回應

HTTP/1.1 200 Content-type: application/json { "EntitySummaryList": [ { "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example-abcd-1234", "EntityId": "example1-abcd-1234-5ef6-7890abcdef12@1", "EntityType": "AmiProduct", "LastModifiedDate": "2018-02-27T13:45:22Z", "AmiProductSummary": { "ProductTitle": "ABC-XYZ-123", "Visibility": "Public" } } ], "NextToken": "" }

根據產品可見性尋找產品

請求

POST /ListEntities HTTP/1.1 Content-Type: application/json { "Catalog": "AWSMarketplace", "EntityType": "AmiProduct", "MaxResults": 10, "EntityTypeFilters": { "AmiProductFilters": { "Visibility": { "ValueList": [ "Public" ] } } } }

回應

HTTP/1.1 200 Content-type: application/json { "EntitySummaryList": [ { "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example-abcd-1234", "EntityId": "example1-abcd-1234-5ef6-7890abcdef12@1", "EntityType": "AmiProduct", "LastModifiedDate": "2018-02-27T13:45:22Z", "AmiProductSummary": { "ProductTitle": "ABC-XYZ-123", "Visibility": "Public" } } ], "NextToken": "" }

根據產品標題、上次修改日期和產品可見性尋找產品

請求

POST /ListEntities HTTP/1.1 Content-Type: application/json { "Catalog": "AWSMarketplace", "EntityType": "AmiProduct", "MaxResults": 10, "EntityTypeFilters": { "AmiProductFilters": { "LastModifiedDate": { "DateRange": { "BeforeValue": "2018-03-27T13:45:22Z", "AfterValue": "2018-01-27T13:45:22Z" } }, "Visibility": { "ValueList": [ "Public" ] }, "ProductTitle": { "ValueList": [ "ABC-XYZ-123" ] } } } }

回應

HTTP/1.1 200 Content-type: application/json { "EntitySummaryList": [ { "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example-abcd-1234", "EntityId": "example1-abcd-1234-5ef6-7890abcdef12@1", "EntityType": "AmiProduct", "LastModifiedDate": "2018-02-27T13:45:22Z", "AmiProductSummary": { "ProductTitle": "ABC-XYZ-123", "Visibility": "Public" } } ], "NextToken": "" }

取得有關產品的其他詳細資訊

您可以使用實體 ID 搭配 DescribeEntity動作來取得產品的其他詳細資訊。

請求

GET /DescribeEntity?catalog=AWSMarketplace&entityId=example-abcd-1234 HTTP/1.1

回應

HTTP/1.1 200 Content-type: application/json { "DetailsDocument": { "ProductTitle": "ABC-XYZ-123", "ShortDescription": "My product short description.", "LongDescription": "My product longer description.", "Sku": "123example456", "SupportDescription": "Need help? Contact our experts at support@example.com \n\nYour purchase includes 24x7 support.", "Categories": [ "Operating Systems", "Network Infrastructure", "Application Development" ] } "EntityArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/AmiProduct/example-abcd-1234", "EntityId": "example1-abcd-1234-5ef6-7890abcdef12@1", "EntityType": "AmiProduct", "LastModifiedDate": "2018-02-27T13:45:22Z", }

變更集狀態和錯誤

在AWS Marketplace目錄 API 中對賣方產品進行變更涉及建立變更集,以描述您想要進行的變更,然後使用 StartChangeSet動作來開始變更。請求的變更可能需要幾分鐘到數小時或更長的時間才能完成,視請求而定。對此請求的回應如下所示。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef" }

變更請求會新增至佇列並進行處理,包括掃描檔案和資訊,以確保其符合 產品的AWS Marketplace準則。視變更請求而定,此程序可能需要幾分鐘到幾天的時間。您可以透過 AWS Marketplace 管理入口網站或在目錄 API 中使用 DescribeChangeSet動作來檢查請求的狀態。如需變更集的詳細資訊,請參閱使用變更集

若要檢查請求的狀態,請使用 DescribeChangeSet動作。

POST /DescribeChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSetID": "example123456789012abcdef" }

此呼叫的結果如下所示 (在此情況下,用於將新版本新增至容器產品)。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef", "ChangeSetName": "Submitted by 123456789012", "StartTime": "2020-10-27T22:21:26Z", "EndTime": "2020-10-27T22:32:19Z", "Status": "SUCCEEDED", "ChangeSet": [ { "ChangeType": "AddDeliveryOptions", "Entity": { "Type": "ContainerProduct@1.0", "Identifier": "example-1234-abcd-56ef-abcdef12345678@4" }, "Details": "{\"Version\": {\"VersionTitle\": \"1.1\",\"ReleaseNotes\": \"Minor bug fix\"},\"DeliveryOptions\": [{\"DeliveryOptionTitle\": \"EKSDelivery\",\"Details\": {\"EcrDeliveryOptionDetails\" : {\"ContainerImages\": [\"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"DeploymentResources\": [{\"Name\": \"HelmDeploymentTemplate\",\"Url\": \"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}],\"CompatibleServices\": [\"EKS\"],\"Description\": \"Sample Description\",\"UsageInstructions\":\"helm pull 111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}}},{\"DeliveryOptionTitle\": \"HelmChartDeliveryOption\",\"Details\": {\"HelmDeliveryOptionDetails\": {\"CompatibleServices\": [\"EKS\", \"EKS-Anywhere\"],\"ContainerImages\": [\"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"HelmChartUri\": \"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1\",\"Description\": \"Helm chart description\",\"UsageInstructions\": \"Usage instructions\",\"MarketplaceServiceAccountName\": \"Service account name\",\"ReleaseName\": \"Optional release name\",\"Namespace\": \"Optional Kubernetes namespace\",\"OverrideParameters\": [{\"Key\": \"HelmKeyName1\",\"DefaultValue\": \"${AWSMP_LICENSE_SECRET}\"},{\"Key\": \"HelmKeyName2\",\"DefaultValue\": \"${AWSMP_SERVICE_ACCOUNT}\"}]}}}]}", "DetailsDocument": { "Version": { "VersionTitle": "1.1", "ReleaseNotes": "Minor bug fix" }, "DeliveryOptions": [ { "DeliveryOptionTitle": "EKSDelivery", "Details": { "EcrDeliveryOptionDetails": { "ContainerImages": [ "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1" ], "DeploymentResources": [ { "Name": "HelmDeploymentTemplate", "Url": "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1" } ], "CompatibleServices": [ "EKS" ], "Description": "Sample Description", "UsageInstructions": "helm pull 111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1" } } }, { "DeliveryOptionTitle": "HelmChartDeliveryOption", "Details": { "HelmDeliveryOptionDetails": { "CompatibleServices": [ "EKS", "EKS-Anywhere" ], "ContainerImages": [ "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1" ], "HelmChartUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1", "Description": "Helm chart description", "UsageInstructions": "Usage instructions", "MarketplaceServiceAccountName": "Service account name", "ReleaseName": "Optional release name", "Namespace": "Optional Kubernetes namespace", "OverrideParameters": [ { "Key": "HelmKeyName1", "DefaultValue": "${AWSMP_LICENSE_SECRET}" }, { "Key": "HelmKeyName2", "DefaultValue": "${AWSMP_SERVICE_ACCOUNT}" } ] } } } ] }, "ErrorDetailList": [] } ] }

Status 欄位會顯示請求的目前狀態,在此情況下為 SUCCEEDED

如果有失敗,結果可以包含兩種類型的錯誤。對於大多數錯誤,錯誤訊息會直接包含在內。不過,掃描產品是否有安全漏洞時發現錯誤,而是在 ErrorMessage 欄位中包含列出所有發現錯誤的檔案 URL。掃描時發現的錯誤具有ErrorCodeSCAN_ERROR」。

{ "ChangeSetId": "example123456789012abcdef", "ChangeSetArn": "arn:aws:aws-marketplace:us-east-1:123456789012:AWSMarketplace/ChangeSet/example123456789012abcdef", "ChangeSetName": "Submitted by 123456789012", "StartTime": "2020-10-27T22:21:26Z", "EndTime": "2020-10-27T22:32:19Z", "Status": "FAILED", "FailureDescription": "Change set preparation has failed. For details see 'ErrorDetailList'.", "ChangeSet": [ { "ChangeType": "AddDeliveryOptions", "Entity": { "Type": "ContainerProduct@1.0", "Identifier": "example-1234-abcd-56ef-abcdef12345678@4" }, "Details": "{\"Version\": {\"VersionTitle\": \"1.1\",\"ReleaseNotes\": \"Minor bug fix\"},\"DeliveryOptions\": [{\"DeliveryOptionTitle\": \"EKSDelivery\",\"Details\": {\"EcrDeliveryOptionDetails\" : {\"ContainerImages\": [\"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"DeploymentResources\": [{\"Name\": \"HelmDeploymentTemplate\",\"Url\": \"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}],\"CompatibleServices\": [\"EKS\"],\"Description\": \"Sample Description\",\"UsageInstructions\":\"helm pull 111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1\"}}},{\"DeliveryOptionTitle\": \"HelmChartDeliveryOption\",\"Details\": {\"HelmDeliveryOptionDetails\": {\"CompatibleServices\": [\"EKS\", \"EKS-Anywhere\"],\"ContainerImages\": [\"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1\"],\"HelmChartUri\": \"111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1\",\"Description\": \"Helm chart description\",\"UsageInstructions\": \"Usage instructions\",\"MarketplaceServiceAccountName\": \"Service account name\",\"ReleaseName\": \"Optional release name\",\"Namespace\": \"Optional Kubernetes namespace\",\"OverrideParameters\": [{\"Key\": \"HelmKeyName1\",\"DefaultValue\": \"${AWSMP_LICENSE_SECRET}\"},{\"Key\": \"HelmKeyName2\",\"DefaultValue\": \"${AWSMP_SERVICE_ACCOUNT}\"}]}}}]}", "DetailsDocument": { "Version": { "VersionTitle": "1.1", "ReleaseNotes": "Minor bug fix" }, "DeliveryOptions": [ { "DeliveryOptionTitle": "EKSDelivery", "Details": { "EcrDeliveryOptionDetails": { "ContainerImages": [ "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1" ], "DeploymentResources": [ { "Name": "HelmDeploymentTemplate", "Url": "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1" } ], "CompatibleServices": [ "EKS" ], "Description": "Sample Description", "UsageInstructions": "helm pull 111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame2:mychart1.1" } } }, { "DeliveryOptionTitle": "HelmChartDeliveryOption", "Details": { "HelmDeliveryOptionDetails": { "CompatibleServices": [ "EKS", "EKS-Anywhere" ], "ContainerImages": [ "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1" ], "HelmChartUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:helmchart1.1", "Description": "Helm chart description", "UsageInstructions": "Usage instructions", "MarketplaceServiceAccountName": "Service account name", "ReleaseName": "Optional release name", "Namespace": "Optional Kubernetes namespace", "OverrideParameters": [ { "Key": "HelmKeyName1", "DefaultValue": "${AWSMP_LICENSE_SECRET}" }, { "Key": "HelmKeyName2", "DefaultValue": "${AWSMP_SERVICE_ACCOUNT}" } ] } } } ] }, "ErrorDetailList": [ { "ErrorCode": "DUPLICATE_VERSION_TITLE", "ErrorMessage": "The version title must be different from any other version titles of this product." }, { "ErrorCode": "SCAN_ERROR", "ErrorMessage": "https://123sample456.cloudfront.net/example-1234-abcd-5678-abcdef12345678/1234abcdef567890" } ] } ] }

在此範例中,直接報告了一個錯誤 (DUPLICATE_VERSION_TITLE)。另一個錯誤有一個包含錯誤訊息的檔案 (單一 SCAN_ERROR 可在連結的檔案中有多個找到的錯誤)。

注意

在 中傳回的連結ErrorMessage有效期為 60 天。