

AWS Marketplace API 參考已重組。如需支援的 API 操作的詳細資訊，請參閱 [AWS Marketplace API 參考](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html)。

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

# 使用 AWS MarketplaceAPIs 使用容器型產品
<a name="work-with-container-products"></a>

您可以使用AWS Marketplace目錄 API 自動化使用容器型產品的任務。

如需使用目錄 API 建立容器型產品的資訊，請參閱 [建立產品](work-with-seller-products.md#create-product)。

下列主題說明如何使用目錄 API 對容器型產品執行動作：

**Topics**
+ [新增新版本](#container-add-version)
+ [更新 Amazon EKS 附加元件的可見性](#update-delivery-option-visibility)
+ [建立儲存庫和資源](#container-repos)
+ [更新版本資訊](#container-update-version)
+ [限制版本](#container-restrict-version)

## 新增新版本
<a name="container-add-version"></a>

如果您已在 中使用容器型產品AWS Marketplace，您可以使用 AWS Marketplace Catalog API來新增新版本。這需要您已AWS Marketplace為產品中的每個容器映像或成品在 中建立儲存庫，而且您可以從本機Docker和Helm檔案複製這些儲存庫。

**注意**  
如需使用 建立容器型產品的詳細資訊AWS Marketplace 管理入口網站，請參閱《 *AWS Marketplace賣方指南*》中的[容器產品入門](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html)。  
如需新增版本的詳細資訊，包括使用 建立儲存庫，以及將 Docker 和 Helm 檔案建置到這些儲存庫AWS Marketplace 管理入口網站，請參閱 *AWS Marketplace賣方指南*中的[新增產品版本](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-add-version)。  
如果您尚未建立新的儲存庫，您可以使用目錄 API 建立它們，請參閱 [建立儲存庫和資源](#container-repos)。

若要新增新版本，請使用`AddDeliveryOptions`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**注意**  
容器型產品的版本是由一或多個交付選項組成。例如，您可能有兩個交付選項，一個用於 noSQL 資料庫，另一個用於 MySQL，以便您的使用者可以選擇他們想要如何使用您的產品。您可以使用 建立產品的版本，並在單一請求中新增多個交付選項`AddDeliveryOptions`。

**容器映像交付請求語法**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDeliveryOptions",
      "Entity":
      {
        "Identifier": "{{example1-abcd-1234-5ef6-7890abcdef12}}",
        "Type": "ContainerProduct@1.0"
      },
      "DetailsDocument":
      {
        "Version":
        {
          "VersionTitle": "1.1",
          "ReleaseNotes": "{{Minor bug fix}}"
        },
        "DeliveryOptions":
        [
          {
            "DeliveryOptionTitle": "{{EKS Container image only delivery option}}",
            "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"
              }
            }
          }      
        ]
      }
    }
  ]
}
```

**Amazon Bedrock AgentCore 執行期交付請求語法**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDeliveryOptions",
      "Entity":
      {
        "Identifier": "{{example1-abcd-1234-5ef6-7890abcdef12}}",
        "Type": "ContainerProduct@1.0"
      },
      "DetailsDocument":
      {
        "Version":
        {
          "VersionTitle": "{{1.1}}",
          "ReleaseNotes": "{{Minor bug fix}}"
        },
        "DeliveryOptions":
        [
          {
            "DeliveryOptionTitle": "{{Amazon Bedrock AgentCore Runtime Delivery Option}}",
            "Details":
            {
              "EcrDeliveryOptionDetails":
              {
                "ContainerImages":
                [
                  "{{111122223333.dkr.ecr.us-east-1.amazonaws.com/sellername/reponame1:1.1}}"
                ],
                "CompatibleServices":
                [
                  "Bedrock-AgentCore"
                ],
                "AgenticType":
                [
                  "{{AGENT}}" 
                ], 
                "Description": "{{Sample Description}}",
                "UsageInstructions": "{{To launch and invoke this agent on Amazon Bedrock AgentCore Runtime}}",
                "EnvironmentVariables":
                [
                  {
                    "Name": "{{HTTP_PORT}}",
                    "Description": "{{Port of the server}}",
                    "DefaultValue": "{{8080}}"
                  },
                  {
                    "Name": "{{API_KEY}}",
                    "Description": "{{Provide your unique API key here.}}"
                  }
                ]
              }
            }
          }      
        ]
      }
    }
  ]
}
```

**Helm 圖表交付請求語法**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AddDeliveryOptions",
      "Entity":
      {
        "Identifier": "{{example1-abcd-1234-5ef6-7890abcdef12}}",
        "Type": "ContainerProduct@1.0"
      },
      "DetailsDocument":
      {
        "Version":
        {
          "VersionTitle": "1.1",
          "ReleaseNotes": "{{Minor bug fix}}"
        },
        "DeliveryOptions":
        [
          {
            "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}}}"
                  }
                ]
              }
            }
          }
        ]
      }
    }
  ]
}
```

**Amazon EKS 附加元件交付請求語法**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
  "Catalog": "AWSMarketplace",
  "ChangeSet": [
    {
      "ChangeType": "AddDeliveryOptions",
      "Entity": {
        "Type": "ContainerProduct@1.0",
        "Identifier": "$CreateProductChange.Entity.Identifier"
      },
      "DetailsDocument": {
        "Version": {
          "VersionTitle": "1.1",
          "ReleaseNotes": "{{New Add-on Release}}"
        },
        "DeliveryOptions": [
          {
            "DeliveryOptionTitle": "{{AWS Marketplace Test AddOn from CAPI 1}}",
            "Visibility": "Limited",
            "Details": {
              "EksAddOnDeliveryOptionDetails": {
                "ContainerImages": [
                  "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/test-seller/canary-test-repo-product-6:mongo"
                ],
                "HelmChartUri": "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/rocket/rocket-product-helm:1.0",
                "Description": "{{Description for delivery option provided by ISV}}",
                "UsageInstructions": "{{Usage instructions with launch instructions}}",
                "AddOnName": "{{aws-mp-test}}",
                "AddOnVersion": "{{1.2.1}}",
                "AddOnType": "networking",
                "CompatibleKubernetesVersions": [
                  "1.25",
                  "1.26"
                ],
                "SupportedArchitectures": [
                  "amd64",
                  "arm64"
                ],
                "Namespace": "{{my-test-namespace}}",
                "EnvironmentOverrideParameters": [
                  {
                    "Key": "cluster-name",
                    "Value": "${{{AWS_EKS_CLUSTER_NAME}}}"
                  },
                  {
                    "Key": "region-name",
                    "Value": "${{{AWS_REGION}}}"
                  }
                ]
              }
            }
          }
        ]
      },
      "ChangeName": "{{PublishAddonNew}}"
    }
  ]
}
```

提供要新增`AddDeliveryOptions`變更類型的欄位資訊：
+ `Entity` （物件） （必要） – 您的容器型產品。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎：`ContainerProduct@1.0`。
+ `DetailsDocument` （物件） （必要） – 請求的詳細資訊。它包含您正在新增之版本的所有資訊。此欄位是字串欄位。
  + `Version` （物件） – 有關您要新增至產品的版本的詳細資訊。
    + `VersionTitle` （字串） – 您正在建立之版本的標題。這通常是 版本的描述，例如 **Version 1.1**或只是 **1.1**。您的買方將能夠從版本標題清單中選擇要部署的版本。
    + `ReleaseNotes` （字串） – 此版本的詳細備註。必須少於 30，000 個字元。
  + `DeliveryOptions` （物件陣列） – 交付選項的陣列，其中每個選項都是您產品版本的交付方法。例如，如果您有一個用於 Amazon Elastic Container Service (Amazon ECS) 的交付選項，另一個用於 Amazon Elastic Kubernetes Service (Amazon EKS)，則必須有兩個交付選項。
    + `DeliveryOptionTitle` （字串） – 簡短描述，可協助您的買方在交付選項之間進行選擇。
    + `Details` （物件） – 用於此交付選項的資源。這是詳細資訊欄位中的詳細資訊欄位。您不需要在此欄位中加倍逸出字元。
      + `AddOnName – `買方會在 Amazon EKS 目錄中看到的唯一附加元件名稱。此名稱稍後會使用 新增字首`SellerAlias`。例如，其中 `isv-alias_`是 ISV 提供的附加元件名稱。
      + `AddOnType – `從 Amazon EKS 支援的 值清單中選擇的附加元件類型：Gitops \| 監控 \| 記錄 \| cert-management \| 政策管理 \| 成本管理 \| autoscaling \| storage \| kubernetes-management \| service-mesh \| etcd-backup \| ingress-service-type \| load-balancer \| local-registry\| networking \| Security \| backup \| 輸入控制器 \| 可觀測性
      + `AddOnVersion – `語意版本，讓買方可以選擇需要安裝或升級的特定 AddOn 版本。
      + `CompatibleKubernetesVersions` – 此軟體相容的 Amazon EKS Kubernetes 版本。
      + `CompatibleServices` （字串陣列） – 發行版本相容的服務陣列。有效選項：`ECS`、`EKS`、`EKS-Anywhere`、 `ECS-Anywhere`和 `Bedrock-AgentCore`。
      + `ContainerImages` （字串陣列） – 此版本使用的容器映像 URLs陣列。路徑將是您上傳映像的儲存庫，其中包含此版本所用映像的標籤。該清單必須包含所有必要的影像，即使是未與先前版本變更的影像也一樣。如需使用目錄 API 建立儲存庫的相關資訊，請參閱下一節。
      + `Description` （字串） – 交付選項的較長描述，可向您的買方提供詳細資訊。您也可以包含連結到其他位置提供的更多指示。
      + `EcrDeliveryOptionDetails` – `AgenticType` – 執行時間代理程式的類型。有效選項：`AGENT`、 `MCP_SERVER`或 `A2A_SERVER`。
      + `EcrDeliveryOptionDetails` – `EnvironmentVariables` 列出 AgentCore 執行期容器所需的環境變數，並在部署時預先填入給買方。對於每個變數，請為您的物件提供容器預期的*名稱*、*描述*和選用的 *defaultValue*。對於唯一的變數，例如登入資料或 API 金鑰，請勿提供預設值。您可以使用描述來指定變數的詳細資訊以及可能的值。買方啟動您的產品時，所有提供的變數及其預設值都會預先填入。
      + `EcrDeliveryOptionDetails – ``DeploymentResources (array of objects)` – 版本所需的其他資源陣列，例如Helm圖表。每個資源都包含`Name`描述它的 ，以及`URL`指向資源的 。
      + `EnvironmentOverrideParameters – `附加元件要使用的系統參數清單。有些 ISV 提供的 AddOn (HelmChart) 可能需要具有衍生自 Amazon EKS 執行環境狀態 (/系統資訊） 資訊的組態。例如，`EksClusterRegion`、 `EKSClusterName`和其他 。您可以在 Amazon EKS AddOn 啟動時動態取代這些值，以避免買方執行其他動作。Amazon EKS 系統已支援自動替換附加元件的系統參數。AWS MarketplaceISV 體驗可以擴展以收集需要替換的此參數。

        要取代的一般系統資訊可以透過提供與Helm取代類似的AWS Marketplace指定常數慣例來表示。支援的值為 `${AWS_REGION}` 和 `${AWS_EKS_CLUSTER_NAME}`。

        ```
         "EnvironmentOverrideParameters" : [ {
           "Key" : "my-field.region"
           "Value" : "${{{AWS_REGION}}}"
           },
           {
           "Key" : "my-second-field"
           "Value" : "${{{AWS_EKS_CLUSTER_NAME}}}"
           },
        ```
      + `HelmDeliveryOptionDetails` `HelmChartUri (string)` – 買方將安裝以啟動軟體的 Amazon ECR 中託管的Helm圖表 URL。
      + `HelmDeliveryOptionDetails – ``MarketplaceServiceAccountName (string)` – *選用 * – Kubernetes 服務帳戶的名稱。服務帳戶將用於連線至 AWS Identity and Access Management(IAM)，以取得呼叫 的許可AWS 服務。
      + `HelmDeliveryOptionDetails – ``ReleaseName (string)` – *選用 * – 提供給買方用來啟動軟體之`helm install`命令的Helm發行版本名稱。如果未包含 ， Helm會為您提供自動產生的版本名稱。
      + `HelmDeliveryOptionDetails – ``Namespace (string)` – *選用 * – 要安裝Helm圖表的Kubernetes命名空間。
      + `HelmDeliveryOptionDetails – ``OverrideParameters (array of objects)` – 將用於啟動應用程式的Helm命令的參數。買方可以覆寫預設值。
**注意**  
對於 Amazon EKS Anywhere 產品，請為授權秘密提供至少一個覆寫參數。提供 `DefaultValue` `"${AWSMP_LICENSE_SECRET}"`。  
針對付費產品，請為服務帳戶組態提供至少 1 個覆寫參數。提供 `DefaultValue` `"${AWSMP_SERVICE_ACCOUNT}"`。
        + `Key` （字串） – 以點表示法表示參數的索引鍵 (override.example.key)。
        + `DefaultValue` （字串） – 此覆寫參數的預設值。
      + `Namespace – `ISV 提供用於附加元件安裝的命名空間。
      + `SupportedArchitectures – `支援的架構清單，例如 amd64 和 arm64。
      + `UsageInstructions` （字串） – 提供此交付選項使用方式的相關指示。最多可達 4，000 個字元。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理，包括掃描容器映像和其他資訊，以確保符合[AWS Marketplace容器產品的準則](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-policies.html)。視容器的數量和大小而定，此程序可能需要幾分鐘到數小時的時間。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站，或使用 API 操作直接透過目錄 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

如需變更集的詳細資訊，請參閱[使用變更集](catalog-apis.md#working-with-change-sets)。如需賣方產品變更集中錯誤的詳細資訊，請參閱 [變更集狀態和錯誤](work-with-seller-products.md#seller-product-change-set-errors)。

**非同步錯誤**

下列錯誤專屬於 中的`AddDeliveryOptions`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PRODUCT\_STATUS | 使用現有的有限或公開產品。 | 
| INCOMPATIBLE\_SERVICES | 服務清單包含不相容的服務。【incompatible\_services】 提供相容服務的有效清單。 | 
| NO\_SERVICE\_SPECIFIED | 提供至少 1 個相容的服務。 | 
| DUPLICATE\_COMPATIBLE\_AWS\_SERVICES | 服務清單包含重複的項目。移除它們。每個項目必須是唯一的。 | 
| INVALID\_VERSION\_TITLE | 移除商標符號前面的空格。 | 
| INVALID\_VERSION\_TITLE | 移除下列不支援的字元：【x、y、z】  | 
| INVALID\_VERSION\_TITLE | 從版本標題開頭移除空格。 | 
| INVALID\_VERSION\_TITLE | 提供少於 【x】 個字元的版本標題。 | 
| DUPLICATE\_VERSION\_TITLE | 版本標題 【duplicate\_version\_title】 重複。移除或變更標題。 | 
| INVALID\_RELEASE\_NOTES | 移除商標符號前面的空格。 | 
| INVALID\_RELEASE\_NOTES | 移除不支援的字元：【x、y、z】  | 
| INVALID\_RELEASE\_NOTES | 從版本備註開頭移除空格。 | 
| INVALID\_RELEASE\_NOTES | 提供少於 (x) 個字元的版本備註。 | 
| INVALID\_USAGE\_INSTRUCTIONS | 移除商標符號前面的空格。 | 
| INVALID\_USAGE\_INSTRUCTIONS | 移除不支援的字元：【x、y、z】  | 
| INVALID\_USAGE\_INSTRUCTIONS | 提供少於 (x) 個字元的使用說明。 | 
| INVALID\_USAGE\_INSTRUCTIONS | 提供使用說明。 | 
| MISSING\_CONTAINER\_IMAGES | 提供至少 1 個容器映像。 | 
| NO\_LICENSE\_SECRET\_KEYS | 對於 Amazon EKS Anywhere 產品，請為授權秘密提供 1 個覆寫參數。的需求DefaultValue"${AWSMP\_LICENSE\_SECRET}"，請參閱章節中的範例。 | 
| TOO\_MANY\_CONTAINER\_IMAGES | 提供少於 50 個容器映像。 | 
| DUPLICATE\_CONTAINER\_IMAGES | 容器映像清單包含重複映像：【duplicate\_images】。提供具有唯一映像的清單。 | 
| INVALID\_CONTAINER\_IMAGES | 提供容器映像的有效 URI。 | 
| INVALID\_CONTAINER\_IMAGE\_URI | 映像 【invalid\_image\_uri】 無法存取此產品。將映像上傳至其對應的產品儲存庫。如需上傳的相關資訊，請參閱[容器產品的入門](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html)。 | 
| INVALID\_CONTAINER\_IMAGE\_TAG | 避免使用「最新」標籤。 | 
| DUPLICATE\_DELIVERY\_OPTION\_TITLES | 重複的交付選項標題：【duplicate\_titles】。移除重複項目 | 
| INVALID\_DELIVERY\_OPTION\_TITLES | 交付選項標題 【existing\_titles】 已存在。提供不同的標題。 | 
| INVALID\_FULFILLMENT\_OPTION\_TITLE | 提供少於 (x) 個字元的交付選項標題。 | 
| NO\_SERVICE\_ACCOUNT\_CONFIGURATION | 對於付費產品，請為服務帳戶組態提供 1 個覆寫參數。的需求DefaultValue"${AWSMP\_SERVICE\_ACCOUNT}"，請參閱章節中的範例。 | 
| INVALID\_DETAILS  | 提供的詳細資訊無效。 | 
| EMPTY\_RESOURCE\_NAME | 提供資源名稱。 | 
| EMPTY\_RESOURCE\_URL | 提供資源 URL。 | 
| INVALID\_RESOURCE\_NAME | 提供少於 256 個字元的資源名稱。 | 
| INVALID\_RESOURCE\_URL | 提供少於 256 個字元的資源 URL。 | 
| INVALID\_SHORT\_DESCRIPTION | 提供少於 1，000 個字元的簡短描述。 | 
| INVALID\_SHORT\_DESCRIPTION | 提供簡短描述。 | 
| SCAN\_ERROR | 修正映像 ""【x】"" 上的安全漏洞 ""【y】""。 | 
| IMAGE\_NOT\_FOUND | 公有映像 URI 【invalid\_image\_uri】 無效。請提供有效的 URI。 | 
| INVALID\_ARN | 為映像存取提供有效的 ARN。 | 
| IMAGE\_INACCESSIBLE | 為映像存取提供有效的 ARN。 | 
| DUPLICATE\_ADDON\_NAME | 您提供的 AddOn 名稱已由不同的產品使用。提供不同的名稱。 | 
| DUPLICATE\_ADDON\_VERSION | 附加元件版本標題 【duplicate\_version\_title】 已在使用中。提供不同的標題。 | 
| INVALID\_ADDON\_TYPE | 附加元件類型 【invalid\_types】 無效。從支援的清單中提供類型：【eks\_addon\_do\_supported\_types】。 | 
| INVALID\_KUBERNETES\_VERSION | Kubernetes 版本 【invalid\_versions】 無效。從支援的清單中提供版本：【eks\_addon\_do\_supported\_kubernetes\_versions】。 | 
| DUPLICATE\_KUBERNETES\_VERSIONS | 重複的 Kubernetes 版本：【duplicate\_versions】。提供具有唯一版本的清單。 | 
| INVALID\_ARCHITECTURE | 架構 【invalid\_architectures】 無效。從 Amazon EKS 支援的架構提供架構：【eks\_addon\_do\_supported\_architectures】。 | 
| DUPLICATE\_SUPPORTED\_ARCHITECTURES | 重複的架構：【duplicate\_architectures】。提供唯一、支援的架構清單。 | 
| INVALID\_VISIBILITY\_STATE | 狀態 【invalid\_states】 對於 {EKS\_DO} 交付選項無效。從下列允許的值提供有效的可見性狀態：有限。 | 
| INVALID\_ENVIRONMENT\_OVERRIDE\_PARAMETER\_VALUE | 覆寫參數值 【invalid\_values】 無效。提供下列清單中的有效值：【eks\_addon\_do\_environment\_override\_parameter\_values】。 | 
| DUPLICATE\_ENVIRONMENT\_OVERRIDE\_PARAMETER\_KEY | 環境覆寫參數包含重複的金鑰：【duplicate\_keys】。移除它們。 | 
| TOO\_MANY\_EKS\_ADDON\_DELIVERY\_OPTIONS | 僅提供 版本的一個 Amazon EKS 附加元件交付選項。 | 
| INCOMPATIBLE\_ADDON\_NAME | 附加元件名稱 【provided\_name】 與現有名稱不相符。重複使用此附加元件公有版本或先前版本的現有名稱。每個產品只能使用一個附加元件名稱。 | 
| INCOMPATIBLE\_ADDON\_TYPE | 附加元件類型 【provided\_type】 與現有類型不相符。重複使用此附加元件公有版本或先前版本的現有類型。每個產品只能使用一種附加元件 類型。 | 
| INCOMPATIBLE\_ADDON\_NAMESPACE | 附加元件命名空間 【provided\_namespace】 不符合現有的命名空間 。重複使用此附加元件公有版本或先前版本的現有 命名空間。每個產品只能使用一個附加元件 命名空間。 | 
| INVALID\_HELM\_CHART\_URI | Helm Chart URI 【invalid\_uri】 無效。提供 SemVer 2 格式的 URI。 | 
| INCOMPATIBLE\_HELM\_OBJECTS(INVALID\_HELM\_OBJECTS) | 提供Helm圖表而不使用以下不支援的Helm物件：<unsupported-objects>。 | 
| INVALID\_DEPENDENT\_HELM\_CHARTS | 提供 Helm Chart，其中包含直接在父圖表目錄中而非外部來源的下列相依圖表：<invalid-subcharts>。 | 
| INVALID\_HELM\_SENSITIVE\_CONFIG | 提供不含敏感資訊或秘密的進階組態結構描述。關鍵字：<sensitive-parameters-identified>  | 
| INVALID\_HELM\_UNDECLARED\_IMAGES | 在請求的交付選項中提供下列 Helm Chart 影像：<list-of-images>。 | 
| INVALID\_HELM\_CHART\_IMAGES | 提供 Helm Chart，其中包含透過 AddRepositories 變更類型建立之儲存庫內的映像。外部影像：<images-identified>。 | 
| INVALID\_HELM\_LINT | 提供成功通過 Helm lint 的 Helm Chart。 | 
| INVALID\_HELM\_TEMPLATE | 提供成功傳遞 Helm 範本的 Helm Chart。 | 
| INVALID\_HELM\_CHART | 提供 Helm Chart，遵守 AWS Marketplace賣方指南中 [Helm Charts 項目清單中](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-policies.html)識別AWS Marketplace的指引。 | 
| INVALID\_ADDON\_NAME | 提供遵循下列規則運算式模式的 AddOn 名稱：xx  | 
| INVALID\_ADDON\_NAMESPACE | 命名空間值 【invalid\_namespaces】 無效。命名空間必須遵循 {EKS\_ADD\_ON\_NAMESPACE\_REGEX} 規則運算式。例如，命名空間、命名空間測試。 | 
| INVALID\_ADDON\_NAME\_PATTERN | 提供以字母或數字開頭的附加元件名稱，然後是字母、數字和連字號的組合。例如 test-addon、eksaddon  | 
| INVALID\_ADDON\_VERSION\_PATTERN | 使用以下模式提供附加元件版本：「<major>.<minor>.<patch>」（例如 1.2.3、0.1.2、0.1.1)  | 
| EMPTY\_DELIVERY\_OPTION\_IDS | 提供交付選項 IDs的清單。 | 
| INVALID\_DELIVERY\_OPTIONS\_INPUT | 清單包含一或多個無效的交付選項。提供有效的清單，並確保每個選項都有單一交付方法。 | 
| OVERRIDE\_PARAMETER\_KEYS\_CONTAINS\_SPECIAL\_CHARS | 覆寫參數索引鍵 【invalid\_keys】 包含無效的字元。您的金鑰只能使用字母、數字、雙引號 (" ") 和加號 (＋)。 | 
| INVALID\_CONTAINER\_IMAGE\_REPOSITORY | 儲存庫 【invalid\_repositories】 無效。提供透過 AddRepositories 變更類型建立的儲存庫。 | 
| INVALID\_CONTAINER\_IMAGE\_TAG\_FORMAT | 容器映像標籤 【invalid\_image\_tag】 無效。提供符合 {CONTAINER\_IMAGE\_TAG\_REGEX} 規則表達式的標籤。 | 
| DUPLICATE\_OVERRIDE\_PARAMETER\_KEYS | 覆寫參數包含重複的金鑰 【duplicate\_keys】。移除重複項目。 | 
| UNSUPPORTED\_CONTAINER\_IMAGE\_URI | 不支援容器映像 【unsupported\_image】。提供遵循映像[資訊清單 V 2 結構描述 1 的映像](https://docker-docs.uclv.cu/registry/spec/manifest-v2-1/)。 | 
| DUPLICATE\_REPOSITORY\_NAMES | 重複的儲存庫名稱：【duplicate\_repo\_names】。提供唯一的名稱。 | 
| INVALID\_NAMESPACE | 命名空間值 【invalid\_namespaces】 無效。提供符合 {HELM\_RELEASE\_PARAM\_REGEX} 規則表達式的值。 | 
| INVALID\_RELEASE\_NAME | releaseName 值 【invalid\_release\_names】 無效。提供符合 {HELM\_RELEASE\_PARAM\_REGEX} 規則表達式的值。 | 
| OVERRIDE\_PARAMETER\_KEYS\_CONTAINS\_RESERVED\_PARAMETER\_KEYS | 交付選項標題 【invalid\_keys】 的覆寫參數金鑰已保留。預留金鑰：【reserved\_param\_keys】。提供不同的金鑰。 | 

## 更新 Amazon EKS 附加元件的可見性
<a name="update-delivery-option-visibility"></a>

您可以使用目錄 API 來更新產品版本 Amazon EKS 附加元件交付選項的可見性AWS Marketplace。容器產品的容器和Helm交付選項會自動建立為「公開」可見狀態。

**注意**  
只有來自所列版本的 Amazon EKS 附加元件交付選項才支援更新產品版本可見性的功能。如果您的產品尚未「公開」，請使用 提交發佈具有「公開」可見狀態之產品的請求AWS Marketplace 管理入口網站。

根據預設，當您使用 Amazon EKS 附加元件交付選項建立版本時，會以「有限」狀態發佈。「有限」狀態表示產品並未在所有區域中公開提供，可供您的買方在 Amazon EKS 叢集中使用和部署。您可以透過呼叫具有`UpdateDeliveryOptionsVisibility`變更類型的 `StartChangeSet` API 操作，將交付選項的可見性從 'Limited' 更新為 'Public'。`DeliveryOptions Id` 從對應至 Amazon EKS 附加元件交付選項的產品版本中指定 。

**請求語法**

```
{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "UpdateDeliveryOptionsVisibility",
      "Entity":
      {
        "Identifier": "{{prod-example12345}}",
        "Type": "ContainerProduct@1.0"
      },
      "DetailsDocument":
      {
        "DeliveryOptions":
        [
          {
            "Id": "do-{{1234567891234567891234}}",
            "TargetVisibility": "Public"
          }
        ]
      }
    }
  ]
}
```

若要新增`UpdateDeliveryOptionsVisibility`變更類型，請提供下列欄位 的資訊：
+ `Entity` （物件） （必要） – 您的容器型產品。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品使用的交付方法 （產品類型） 為基礎：`ContainerProduct@1.0`。
+ `DetailsDocument` （物件） （必要） – 請求的詳細資訊，包括您要建立之儲存庫的相關資訊。下列欄位皆為必要欄位。
  + `DeliveryOptions` （物件清單） – `DeliveryOption` 物件清單，包括每個物件的詳細資訊：
    + `Id` （字串） – 的唯一識別符`DeliveryOption`。（若要取得 的唯一識別符`DeliveryOption`，請在您要更新的產品上呼叫 `DescribeEntity`動作。
    + `TargetVisibility` – 產品的預期新可見性。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetArn`的 `ChangeSetId`和 。

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

變更請求會新增至佇列並進行處理，包括掃描容器映像和其他資訊，以確保符合[AWS Marketplace容器產品的準則](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-policies.html)。視容器的數量和大小而定，此程序可能需要幾分鐘到數小時的時間。

您可以使用 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API 操作，透過 AWS Marketplace 管理入口網站或透過 AWS Marketplace Catalog API檢查請求的狀態。

如需變更集的詳細資訊，請參閱[使用變更集](catalog-apis.md#working-with-change-sets)。如需賣方產品變更集中錯誤的詳細資訊，請參閱 [變更集狀態和錯誤](work-with-seller-products.md#seller-product-change-set-errors)。

**非同步錯誤**

下表顯示 中`AddDeliveryOptions`動作特有的錯誤AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| EMPTY\_DELIVERY\_OPTION\_IDS | 提供交付選項 IDs的清單。 | 
| INVALID\_VISIBILITY\_STATE | 不支援您提供的TargetVisibility選項。請使用允許的選項再試一次。允許的 （選項） 為： Public | 
| INVALID\_DELIVERY\_OPTION\_IDS | 您提供了無效的交付選項詳細資訊。提供可在產品中找到的交付選項 IDs。找不到 IDs：【x】 | 
| DUPLICATE\_DELIVERY\_OPTION\_IDS | 重複的交付選項 IDs：【duplicate\_ids】。提供唯一的交付選項 IDs。 | 
| AUDIT\_ERROR | 您尚未針對 Amazon EKS 附加元件版本 (Amazon EKS) 的所有相容 Amazon EKS 叢集版本完成獨立軟體廠商 (ISV) 測試。您必須先完成測試，才能釋出 （交付選項）。 | 
| INVALID\_DELIVERY\_OPTION\_TYPE | 您提供的交付選項類型無效。請確定您的交付選項為 類型：EksAddOn，然後再試一次。 | 
| INCOMPATIBLE\_HELM\_OBJECTS | 提供沒有不支援Helm物件的Helm圖表：不支援的Helm物件如下：所有發行物件 (.Name 和 .Namespace 除外）、Helm勾點和查詢函數。 | 
| INCOMPATIBLE\_ADDON\_NAME | 附加元件名稱 【provided\_name】 與公有版本名稱不相符。在發佈之前更新公有名稱。 | 
| NCOMPATIBLE\_ADDON\_TYPE | 附加元件類型不相符。重複使用此產品公有附加元件版本或先前附加元件版本的現有附加元件類型。每個產品僅支援一個附加元件。 | 
| INCOMPATIBLE\_ADDON\_NAMESPACE | 提供的附加元件命名空間 【provided\_namespace】 與公有版本命名空間不相符。在釋出之前更新附加元件命名空間。 | 

## 建立儲存庫和資源
<a name="container-repos"></a>

若要建立新的容器型產品版本，您必須擁有 AWS Marketplace儲存庫中可用版本的資源。您可以建立儲存庫，然後將 （和） 資源推送 Docker（上傳Helm) 至儲存庫。若要了解如何透過 建立儲存庫AWS Marketplace 管理入口網站，請參閱《 *AWS Marketplace賣方指南*》中的[新增產品版本](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-add-version)。

若要建立新的儲存庫，`StartChangeSet`請使用`AddRepositories`變更類型呼叫 ，如下列範例所示。

**請求語法**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "AddRepositories",
      "Entity":
      {
        "Identifier": "{{example1-abcd-1234-5ef6-7890abcdef12}}",
        "Type": "ContainerProduct@1.0"
      },
      "DetailsDocument":
      {
        "Repositories":
        [
          {
            "RepositoryName": "{{new-repo-1}}",
            "RepositoryType": "ECR"
          },
          {
            "RepositoryName": "{{new-repo-2}}",
            "RepositoryType": "ECR"
          }
        ]
      }
    }
  ]
}
```

提供要新增`AddRepositories`變更類型的欄位資訊：

如需建立儲存庫的詳細資訊，請參閱《 *AWS Marketplace賣方指南*》中的[新增版本](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-adding-version)。
+ `Entity` （物件） （必要） – 您的容器型產品。
  + **識別符** （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎：`ContainerProduct@1.0`。
+ `DetailsDocument` （物件） （必要） – 請求的詳細資訊。它包含您要建立之儲存庫的相關資訊。包含的欄位都是必要欄位。
  + `Repositories` （結構陣列） – 儲存庫物件的清單。每個儲存庫物件都包含名稱和類型。
    + `RepositoryName` （字串） – 要建立的儲存庫名稱。
    + `RepositoryType` （字串） – 要建立的儲存庫類型。唯一允許的值為：`ECR`。

**注意**  
每個產品最多可以有 70 個儲存庫，但您可以在推送時提供不同的標籤，將多個資源和版本的資源新增至單一儲存庫。

建立一或多個儲存庫之後，您可以將資源新增至儲存庫。如需有關如何將資源推送至儲存庫的資訊，請參閱《*Amazon Elastic Container Registry 使用者指南*》中的[推送映像](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-push.html)。如需其中一個儲存庫所需的特定推送命令資訊，請參閱《 *AWS Marketplace賣方指南*》中的[新增新版本](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-adding-version)。

**非同步錯誤**

下列錯誤專屬於 中的`AddRepositories`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INVALID\_ECR\_REPOSITORY\_NAME | 以下列格式提供儲存庫名稱：'nginx-web-app' | 
| DUPLICATE\_ECR\_REPOSITORY\_NAME | 儲存庫 【duplicate\_repo\_names】 已存在。選擇不同的名稱。 | 
| MISSING\_REPOSITORY\_INFORMATION | 提供至少 1 個儲存庫名稱。 | 
| INVALID\_ECR\_REPOSITORY\_NAME | 已達到字元長度上限 256。字元長度計數包含賣方命名空間。 | 

## 更新版本資訊
<a name="container-update-version"></a>

您可以使用目錄 API 來更新 中現有版本容器型產品的詳細資訊AWS Marketplace。

**注意**  
當產品可公開取得時，您無法更新版本的版本標題、容器映像、交付選項標題或部署資源。如果您需要更新產品的這些層面，請改為建立新的版本。

若要更新容器型產品的現有版本，請使用`UpdateDeliveryOptions`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。這會更新您指定的交付選項的詳細資訊，以及相關聯的版本。您必須包含至少一個交付選項。

**容器映像交付請求語法**

```
POST /StartChangeSet HTTP/1.1 
Content-type: application/json

{
   "Catalog":"AWSMarketplace",
   "ChangeSet":[
      {
         "ChangeType":"UpdateDeliveryOptions",
         "Entity":{
            "Identifier":"{{example1-abcd-1234-5ef6-7890abcdef12}}",
            "Type":"ContainerProduct@1.0"
         },
         "DetailsDocument":{
            "Version":{
               "ReleaseNotes":"New release notes",
               "VersionTitle":"Version 1.2"
            },
            "DeliveryOptions":[
               {
                  "Id":"{{example4-2222-cccc-2222-cccccccccccc}}",
                  "Details":{
                     "EcrDeliveryOptionDetails":{
                        "DeliveryOptionTitle":"{{New Delivery Option Title}}",
                        "Description":"New description",
                        "UsageInstructions":"{{New usage instructions}}",
                        "CompatibleServices":[
                           "EKS"
                        ]
                     }
                  }
               }
            ]
         }
      }
   ]
}
```

**Helm 圖表交付請求語法**

```
POST /StartChangeSet HTTP/1.1 
Content-type: application/json

{
   "Catalog":"AWSMarketplace",
   "ChangeSet":[
      {
         "ChangeType":"UpdateDeliveryOptions",
         "Entity":{
            "Identifier":"{{example1-abcd-1234-5ef6-7890abcdef12}}",
            "Type":"ContainerProduct@1.0"
         },
         "DetailsDocument":{
            "Version":{
               "ReleaseNotes":"New release notes",
               "VersionTitle":"Version 1.2"
            },
            "DeliveryOptions":[
               {
                  "Id":"{{example5-2222-cccc-2222-cccccccccccc}}",
                  "Details":{
                     "HelmDeliveryOptionDetails":{
                        "DeliveryOptionTitle":"{{New Delivery Option Title}}",
                        "ContainerImages":[
                           "{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/imagename:1.0"
                        ],
                        "HelmChartUri":"{{111122223333}}.dkr.ecr.us-east-1.amazonaws.com/sellername/helmname:1.0",
                        "CompatibleServices":[
                           "EKS-Anywhere"
                        ],
                        "Description":"{{New description}}",
                        "UsageInstructions":"{{New usage instructions}}",
                        "MarketplaceServiceAccountName":"{{new-service-account-name}}",
                        "ReleaseName":"{{new-release-name}}",
                        "Namespace":"{{new-cluster-namespace}}",
                        "OverrideParameters":[
                           {
                              "Key":"new.parameter.key",
                              "DefaultValue":"{{New parameter default value}}"
                           }
                        ]
                     }
                  }
               }
            ]
         }
      }
   ]
}
```

**Amazon EKS 附加元件交付請求語法**

```
POST /StartChangeSet HTTP/1.1 
Content-type: application/json

{
   "Catalog":"AWSMarketplace",
   "ChangeSet":[
      {
         "ChangeType":"UpdateDeliveryOptions",
         "Entity":{
            "Identifier":"{{example1-abcd-1234-5ef6-7890abcdef12}}",
            "Type":"ContainerProduct@1.0"
         },
         "DetailsDocument":{
            "Version":{
               "ReleaseNotes":"{{New release notes}}",
               "VersionTitle":"{{Version 1.2}}"
            },
            "DeliveryOptions":[
               {
                  "Id":"{{example4-2222-cccc-2222-cccccccccccc}}",
                  "Details":{
                     "EksAddOnDeliveryOptionDetails":{
                        "ContainerImages":[
                           "{{709825985650}}.dkr.ecr.us-east-1.amazonaws.com/{{test-seller}}/{{canary-test-repo-product-6}}:mongo"
                        ],
                        "Description":"{{Description for delivery option provided by ISV}}",
                        "UsageInstructions":"{{Usage instructions with launch instructions}}",
                        "HelmChartUri":"{{709825985650}}.dkr.ecr.us-east-1.amazonaws.com/{{rocket}}/{{rocket-product-helm}}:1.0",
                        "AddOnName":"{{aws-mp-test}}",
                        "AddOnVersion":"{{1.2.1}}",
                        "AddOnType":"networking",
                        "CompatibleKubernetesVersions":[
                           "1.19",
                           "1.20"
                        ],
                        "SupportedArchitectures":[
                           "amd64",
                           "arm64"
                        ],
                        "Namespace":"{{my-test-namespace}}",
                        "EnvironmentOverrideParameters":[
                           {
                              "Key":"my-field",
                              "Value":"${{{AWS_EKS_CLUSTER_NAME}}}"
                           }
                        ]
                     }
                  }
               }
            ]
         }
      }
   ]
}
```

提供要新增`UpdateDeliveryOptions`變更類型的欄位資訊：

如需這些欄位的詳細資訊，請參閱《 *AWS Marketplace賣方指南*》中的[新增版本](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-adding-version)。
+ `Entity` （物件） （必要） – 您的容器型產品。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎：`ContainerProduct@1.0`。
+ `DetailsDocument` （物件） （必要） – 請求的詳細資訊。它包含有關您要更新之容器型產品版本的任何資訊。包含的欄位皆為選用，但您必須至少包含一個要更新的欄位。
  + `Version` （物件） – 軟體版本的詳細資訊。
    + `VersionTitle` （字串） – 您正在建立之版本的標題。這通常是 版本的描述，例如 **Version 1.1**或 。 **1.1**您的買方將能夠從所有版本標題清單中選擇要部署的版本。

      如果產品已公開發佈，則無法更新此屬性。
    + `ReleaseNotes` （字串） – 供買方告知他們從一個版本到下一個版本的變更的注意事項。
  + `DeliveryOptions` （物件清單） – `DeliveryOption` 物件清單，包括每個物件的詳細資訊：
    + `Id` （字串） – 的唯一識別符 `DeliveryOption`（您可以透過呼叫您正在更新之產品的 `DescribeEntity`動作`DeliveryOption`，取得 的唯一識別符）。
    + `Details` （物件） – 保留交付選項的詳細資訊。請注意，此巢狀詳細資訊物件*不需要*重複逸出。
      + `EcrDeliveryOptionDetails` （物件） – 容器映像交付選項的詳細資訊。
        + `DeliveryOptionTitle` （字串） – 允許買方在交付選項之間進行選擇的簡短描述。

          如果產品已公開發佈，則無法更新此屬性。
        + `ContainerImages` （字串陣列） – 此版本使用的容器映像 URLs陣列。路徑將是您上傳映像的儲存庫，其中包含此版本所用映像的標籤。如果包含此欄位，則清單必須包含所有必要的影像，即使是未變更的影像也一樣。

          如果產品已公開發佈，則無法更新此屬性。
        + `DeploymentResources` （物件陣列） – 版本所需的其他部署資源陣列，例如Helm圖表或其他文件的連結。每個資源都包含一個名稱來描述它，以及指向資源的 URL。在 版本的啟動頁面上，這會顯示為連結清單。

          如果產品已公開發佈，則無法更新此屬性。
          + `Name` （字串） – 向買方顯示的超連結文字。
          + `Url` （字串） – 向買方顯示的超連結 URL。
        + `CompatibleServices` （字串陣列） – 發行版本相容的服務陣列。有效選項：`ECS`、`EKS`、`EKS-Anywhere`、 `ECS-Anywhere`和 `Bedrock-AgentCore`。
        + `AgenticType` 執行時間代理程式的類型。有效選項：`AGENT`、 `MCP_SERVER`或 `A2A_SERVER`。
        + `Description` （字串） – 交付選項的較長描述，可向您的買方提供詳細資訊。您也可以包含指向其他位置託管之更多指示的連結。
        + `UsageInstructions` （字串） – 提供如何部署和使用產品的指示。您也可以將連結新增至其他位置託管的使用說明。最多可達 4，000 個字元。
        + `EnvironmentVariables` – AgentCore 執行期容器所需的環境變數清單，以及將在部署時預先填入給買方的環境變數清單。對於每個變數，請為您的物件提供容器預期的*名稱*、*描述*和選用的 *defaultValue*。對於唯一的變數，例如登入資料或 API 金鑰，請勿提供預設值。您可以使用描述來指定變數的詳細資訊以及可能的值。買方啟動您的產品時，所有提供的變數及其預設值都會預先填入。
    + `Id` （字串） – 的唯一識別符 `DeliveryOption`（您可以透過呼叫您正在更新之產品的 `DescribeEntity`動作`DeliveryOption`，取得 的唯一識別符）。
    + `Details` （物件） – 保留交付選項的詳細資訊。請注意，此巢狀詳細資訊物件*不需要*重複逸出。
      + `HelmDeliveryOptionDetails` （物件） – Helm圖表交付選項的詳細資訊。
        + `DeliveryOptionTitle` （字串） – 允許買方在交付選項之間進行選擇的簡短描述。

          如果產品已公開發佈，則無法更新此屬性。
        + `ContainerImages` （字串陣列） – 此版本使用的容器映像 URLs陣列。路徑將是您上傳映像的儲存庫，其中包含此版本所用映像的標籤。該清單必須包含所有必要的影像，即使是未與先前版本變更的影像也一樣。如需使用目錄 API 建立儲存庫的相關資訊，請參閱下一節。
        + `HelmChartUri` （字串） – 買方將安裝以啟動軟體的 Amazon ECR 中託管的Helm圖表 URL。
        + `CompatibleServices` （字串陣列） – 發行版本相容的服務陣列。有效選項為 `ECS` 和 `EKS`。
        + `Description` （字串） – 交付選項的較長描述，可向您的買方提供詳細資訊。您也可以包含連結到其他位置提供的更多指示。
        + `UsageInstructions` （字串） – 提供此交付選項使用方式的相關指示。最多可達 4，000 個字元。
        + `MarketplaceServiceAccountName` （字串） – Kubernetes服務帳戶的名稱。服務帳戶將用於連線至 ，AWS Identity and Access Management以取得呼叫AWS 服務的許可。
        + `ReleaseName` （字串） – 提供給買方用來啟動軟體之`helm install`命令的Helm發行版本名稱。
        + `Namespace` （字串） – 要安裝Helm圖表的Kubernetes命名空間。
        + `OverrideParameters` （物件陣列） – 將用於啟動應用程式的Helm命令的參數。買方可以覆寫預設值。
          + `Key` （字串） – 以點表示法表示參數的索引鍵 (override.example.key)。
          + `DefaultValue` （字串） – 此覆寫參數的預設值。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理，包括掃描容器映像和其他資訊，以確保符合[AWS Marketplace容器產品的準則](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-policies.html)。視容器的數量和大小而定，此程序可能需要幾分鐘到數小時的時間。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站，或使用 API 操作直接透過目錄 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

如需變更集的詳細資訊，請參閱[使用變更集](catalog-apis.md#working-with-change-sets)。如需賣方產品變更集中錯誤的詳細資訊，請參閱 [變更集狀態和錯誤](work-with-seller-products.md#seller-product-change-set-errors)。

**非同步錯誤**

下列錯誤專屬於 中的`UpdateDeliveryOptions`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PRODUCT\_STATUS | 使用現有的有限或公開產品。 | 
| INCOMPATIBLE\_SERVICES | 服務清單包含不相容的服務。【incompatible\_services】 提供相容服務的有效清單。 | 
| NO\_SERVICE\_SPECIFIED | 提供至少 1 個相容的服務。 | 
| DUPLICATE\_COMPATIBLE\_AWS\_SERVICES | 服務清單包含重複的項目。移除它們。每個項目必須是唯一的。 | 
| INVALID\_VERSION\_TITLE | 移除商標符號前面的空格。 | 
| INVALID\_VERSION\_TITLE | 移除下列不支援的字元：【x、y、z】  | 
| INVALID\_VERSION\_TITLE | 從版本標題開頭移除空格。 | 
| INVALID\_VERSION\_TITLE | 提供少於 【x】 個字元的版本標題。 | 
| DUPLICATE\_VERSION\_TITLE | 版本標題 【duplicate\_version\_title】 重複。移除或變更標題。 | 
| INVALID\_RELEASE\_NOTES | 移除商標符號前面的空格。 | 
| INVALID\_RELEASE\_NOTES | 移除不支援的字元：【x、y、z】  | 
| INVALID\_RELEASE\_NOTES | 從版本備註開頭移除空格。 | 
| INVALID\_RELEASE\_NOTES | 提供少於 (x) 個字元的版本備註。 | 
| INVALID\_USAGE\_INSTRUCTIONS | 移除商標符號前面的空格。 | 
| INVALID\_USAGE\_INSTRUCTIONS | 移除不支援的字元：【x、y、z】  | 
| INVALID\_USAGE\_INSTRUCTIONS | 提供少於 (x) 個字元的使用說明。 | 
| INVALID\_USAGE\_INSTRUCTIONS | 提供使用說明。 | 
| MISSING\_CONTAINER\_IMAGES | 提供至少 1 個容器映像。 | 
| TOO\_MANY\_CONTAINER\_IMAGES | 提供少於 50 個容器映像。 | 
| DUPLICATE\_CONTAINER\_IMAGES | 容器映像清單包含重複映像：【duplicate\_images】。提供具有唯一映像的清單。 | 
| INVALID\_CONTAINER\_IMAGES | 提供容器映像的有效 URI。 | 
| INVALID\_CONTAINER\_IMAGE\_URI | 映像 【invalid\_image\_uri】 無法存取此產品。將映像上傳至其對應的產品儲存庫。如需上傳的資訊，請參閱[容器產品的入門](https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html)。 | 
| INVALID\_CONTAINER\_IMAGE\_TAG | 避免使用「最新」標籤。 | 
| MISSING\_DELIVERY\_OPTION\_IDS | 從現有的 ID 清單中提供交付選項。 | 
| EMPTY\_DELIVERY\_OPTION\_IDS | 提供非空白的交付選項 IDs清單。 | 
| DUPLICATE\_DELIVERY\_OPTION\_IDS | 重複的交付選項 IDs：【duplicate\_ids】。提供唯一的交付選項 IDs。 | 
| DUPLICATE\_DELIVERY\_OPTION\_TITLES | 重複的交付選項標題：【duplicate\_titles】。移除重複項目 | 
| INVALID\_DELIVERY\_OPTION\_TITLES | 交付選項標題 【existing\_titles】 已存在。提供不同的標題。 | 
| INVALID\_FULFILLMENT\_OPTION\_TITLE | 提供少於 (x) 個字元的交付選項標題。 | 
| EMPTY\_RESOURCE\_NAME | 提供資源名稱。 | 
| EMPTY\_RESOURCE\_URL | 提供資源 URL。 | 
| INVALID\_RESOURCE\_NAME | 提供少於 256 個字元的資源名稱。 | 
| INVALID\_RESOURCE\_URL | 提供少於 256 個字元的資源 URL。 | 
| INVALID\_SHORT\_DESCRIPTION | 提供少於 1，000 個字元的簡短描述。 | 
| INVALID\_SHORT\_DESCRIPTION | 提供簡短描述。 | 
| NO\_LICENSE\_SECRET\_KEYS | 對於 Amazon EKS Anywhere 產品，請為授權秘密提供 1 個覆寫參數。的需求 DefaultValue"${AWSMP\_LICENSE\_SECRET}"，請參閱章節中的範例。 | 
| NO\_SERVICE\_ACCOUNT\_CONFIGURATION | 對於付費產品，請為服務帳戶組態提供 1 個覆寫參數。的需求DefaultValue"${AWSMP\_SERVICE\_ACCOUNT}"，請參閱章節中的範例。 | 
| SCAN\_ERROR | 修正映像 ""【x】"" 上的安全漏洞 ""【y】""。 | 
| FIELD\_NOT\_ALLOWED\_TO\_CHANGE | 欄位 【x】 無法變更。 | 
| INVALID\_DELIVERY\_OPTIONS\_STATUS | 交付選項 IDs 【invalid\_ids】 無效。在有限或公有狀態下提供交付選項。 | 
| NO\_CHANGE\_FOUND | 提供至少 1 個變更。 | 
| MULTIPLE\_VERSION\_UPDATE | 提供相同版本的交付選項 IDs。 | 
| OVERRIDE\_PARAMETER\_KEYS\_CONTAINS\_SPECIAL\_CHARS | 覆寫參數索引鍵 【invalid\_keys】 包含無效的字元。您的金鑰只能使用字母、數字、雙引號 (" ") 和加號 (＋)。 | 
| INVALID\_CONTAINER\_IMAGE\_REPOSITORY | 儲存庫 【invalid\_repositories】 無效。提供透過 AddRepositories 變更類型建立的儲存庫。 | 
| INVALID\_CONTAINER\_IMAGE\_TAG\_FORMAT | 容器映像標籤 【invalid\_image\_tag】 無效。提供符合 {CONTAINER\_IMAGE\_TAG\_REGEX} 規則表達式的標籤。 | 
| DUPLICATE\_OVERRIDE\_PARAMETER\_KEYS | 覆寫參數包含重複的金鑰 【duplicate\_keys】。移除重複項目。 | 
| UNSUPPORTED\_CONTAINER\_IMAGE\_URI | 不支援容器映像 【unsupported\_image】。提供遵循映像[資訊清單 V 2 結構描述 1 的映像](https://docker-docs.uclv.cu/registry/spec/manifest-v2-1/)。 | 
| INVALID\_NAMESPACE | 命名空間值 【invalid\_namespaces】 無效。提供符合 {HELM\_RELEASE\_PARAM\_REGEX} 規則表達式的值。 | 
| INVALID\_RELEASE\_NAME | releaseName 值 【invalid\_release\_names】 無效。提供符合 {HELM\_RELEASE\_PARAM\_REGEX} 規則表達式的值。 | 
| OVERRIDE\_PARAMETER\_KEYS\_CONTAINS\_RESERVED\_PARAMETER\_KEYS | 交付選項標題 【invalid\_keys】 的覆寫參數金鑰已保留。預留金鑰：【reserved\_param\_keys】。提供不同的金鑰。 | 
| INCOMPATIBLE\_ADDON\_NAME | 附加元件名稱 【provided\_name】 與現有名稱不相符。重複使用此附加元件公有版本或先前版本的現有名稱。每個產品只能使用一個附加元件名稱。 | 
| INCOMPATIBLE\_ADDON\_NAMESPACE | 附加元件命名空間 【provided\_namespace】 不符合現有的命名空間 。重複使用此附加元件公有版本或先前版本的現有 命名空間。每個產品只能使用一個附加元件 命名空間。 | 

## 限制版本
<a name="container-restrict-version"></a>

您可以使用目錄 API 來限制 中容器型產品的版本AWS Marketplace。這可防止新買方使用該版本。產品中必須至少有一個公開可用的版本。您無法限制產品唯一剩餘的公開可用版本。

若要限制版本，請使用`RestrictDeliveryOptions`變更類型呼叫 `StartChangeSet` API 操作，如下列範例所示。

**注意**  
限制版本中的一或多個交付選項，但並非所有選項都會移除這些選項，使您的買方無法使用。限制版本的所有交付選項會從目錄中移除該版本AWS Marketplace。  
目錄 API 目前不支援限制 Amazon EKS 附加元件。  
限制版本仍然可供現有客戶使用。

**請求語法**

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json

{
  "Catalog": "AWSMarketplace",
  "ChangeSet":
  [
    {
      "ChangeType": "RestrictDeliveryOptions",
      "Entity":
      {
        "Identifier": "{{example1-abcd-1234-5ef6-7890abcdef12}}",
        "Type": "ContainerProduct@1.0"
      },
      "DetailsDocument":
      {
        "DeliveryOptionIds":
        [
          "{{example1-2222-cccc-2222-cccccccccccc}}"
        ]
      }
    }
  ]
}
```

提供要新增`RestrictDeliveryOptions`變更類型的欄位資訊：
+ `Entity` （物件） （必要） – 您的容器型產品。
  + `Identifier` （字串） （必要） – 您的產品 ID。如需詳細資訊，請參閱[識別符](catalog-apis.md#identifier)。
  + `Type` （字串） （必要） – `Type`是以您的產品將使用的交付方法 （產品類型） 為基礎：`ContainerProduct@1.0`。
+ `DetailsDocument` （物件） （必要） – 請求的詳細資訊。它包含您要限制之容器型產品的交付選項 IDs。
  + `DeliveryOptionIds` （字串陣列） – 您要限制之版本的 `DeliveryOption` IDs 清單。您可以呼叫您要限制之產品的 `DescribeEntity`動作`DeliveryOption`，以取得 的唯一識別符。

**回應語法**

為您的請求建立變更集。對此請求的回應為您提供變更集`ChangeSetId``ChangeSetArn`的 和 ，如下所示。

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

變更請求會新增至佇列並進行處理。此程序可能需要幾分鐘到幾小時的時間。

您可以透過 檢查請求的狀態AWS Marketplace 管理入口網站，或使用 API 操作直接透過目錄 `[DescribeChangeSet](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_DescribeChangeSet.html)` API。

如需變更集的詳細資訊，請參閱[使用變更集](catalog-apis.md#working-with-change-sets)。如需賣方產品變更集中錯誤的詳細資訊，請參閱 [變更集狀態和錯誤](work-with-seller-products.md#seller-product-change-set-errors)。

**非同步錯誤**

下列錯誤專屬於 中的`RestrictDeliveryOptions`動作AWS Marketplace Catalog API。當您在處理變更集`DescribeChangeSet`之後呼叫 時，會傳回這些錯誤。如需使用 `DescribeChangeSet` 取得變更請求狀態的詳細資訊，請參閱 [使用變更集](catalog-apis.md#working-with-change-sets)。


| 錯誤碼 | 錯誤訊息 | 
| --- | --- | 
| INCOMPATIBLE\_PRODUCT\_STATUS | 使用公有產品。 | 
| MISSING\_DELIVERY\_OPTION\_IDS | 從現有 IDs 清單中提供交付選項。 | 
| INVALID\_DELIVERY\_OPTIONS\_STATUS | 交付選項 IDs 【invalid\_ids】 無效。在公有狀態下提供交付選項。 | 
| EMPTY\_DELIVERY\_OPTION\_IDS | 提供非空白的交付選項 IDs清單。 | 
| INVALID\_MINIMUM\_PUBLIC\_DELIVERY\_OPTIONS | 無法限制所有交付選項 IDs。 | 
| DUPLICATE\_DELIVERY\_OPTION\_IDS | 重複的交付選項 IDs：【duplicate\_ids】。提供唯一的交付選項 IDs。 | 