View a markdown version of this page

使用 AMI-based 产品 - AWS Marketplace

AWS Marketplace API 参考已重组。有关支持的 API 操作的更多信息,请参阅 AWS Marketplace API 参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AMI-based 产品

您可以使用自动执行处理基于亚马逊系统映像 (AMI) 的产品的任务。AWS Marketplace Catalog API

有关使用目录 API 创建 AMI-based 产品的信息,请参阅创建产品

以下主题介绍如何使用目录 API 对您的 AMI-based 产品执行操作:

添加新版本

您可以使用目录 API 向中的现有 AMI-based 产品添加新版本AWS Marketplace。有关使用向产品添加新 AMI 版本的更多信息AWS Marketplace 管理门户,请参阅《AWS Marketplace卖家指南》中的添加新版本

当您创建包含向 AWS Marketplace 添加新 AMI 的请求时,必须将该 AMI 复制到 AWS Marketplace 系统中,然后扫描是否存在安全问题。您必须通过创建有权对您的 AMI 执行操作的 AWS 身份和访问管理 (IAM) 角色来授予 AWS Marketplace 访问 AMI 的权限。有关所需权限的更多信息,请参阅AWS Marketplace卖家指南中的授予 AWS Marktplace 访问您的 AMI 的权限。

要添加新版本,请使用 AMI-based 产品的AddDeliveryOptions更改类型调用 StartChangeSet API 操作,如以下示例所示。要在不实际创建新版本的情况下测试 API 调用,请将Intent参数设置为VALIDATE。有关更多信息,请参阅意图

注意

对于 AMI 产品,一个版本由一个或多个交付选项组成。同一版本中的所有交付选项都必须具有相同的AmiSource对象和相同的详细信息。创建版本时,必须将所有交付选项添加到版本中。无法向现有版本添加交付选项。

请求语法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "AddDeliveryOptions", "Entity": { "Type": "AmiProduct@1.0", "Identifier": "prod-example12345" }, "DetailsDocument": { "Version": { "VersionTitle": "My new title", "ReleaseNotes": "My new Release notes" }, "DeliveryOptions": [ { "Details": { "AmiDeliveryOptionDetails": { "AmiSource": { "AmiId": "ami-1234567890abcdef", "AccessRoleArn": "arn:aws:iam::12345678901:role/AwsMarketplaceAmiIngestion", "UserName": "ec2-user", "OperatingSystemName": "AMAZONLINUX", "OperatingSystemVersion": "Amazon Linux 2 AMI 2.0.20210126.0 x86_64 HVM gp2", "AfiIds": ["afi-1234567890abcdefg", "afi-abcdefg1234567890"] //Optional (Required only for FPGA products) }, "UsageInstructions": "Easy to use AMI", "RecommendedInstanceType": "m4.xlarge", "SecurityGroups": [ { "IpProtocol": "tcp", "FromPort": 443, "ToPort": 443, "IpRanges": [ "0.0.0.0/0" ] } ] } } }, { "DeliveryOptionTitle": "My new AMI with CFTdelivery option", "Details": { "DeploymentTemplateDeliveryOptionDetails": { "ShortDescription": "My new short description", "LongDescription": "My new long description", "UsageInstructions": "My new usage instructions", "RecommendedInstanceType": "m4.xlarge", "ArchitectureDiagram": "https://my-bucket.s3.amazonaws.com/my-folder/diagram.png", "Template": "https://my-bucket.s3.amazonaws.com/my-folder/cft.template", "TemplateSources": [ { "ParameterName": "MyAmiParam", "AmiSource": { "AmiId": "ami-1234567890abcdef", "AccessRoleArn": "arn:aws:iam::12345678901:role/AwsMarketplaceAmiIngestion", "UserName": "ec2-user", "OperatingSystemName": "AMAZONLINUX", "OperatingSystemVersion": "Amazon Linux 2 AMI 2.0.20210126.0 x86_64 HVM gp2" } } ] } } } ] } } ], "Intent": "APPLY" }

以下列表提供了有关您在AddDeliveryOptions更改类型中使用的输入字段的信息。除非另有说明,否则所有字段均为必填字段。有关这些字段的更多信息,请参阅《AWS Marketplace卖家指南》中的添加新版本

  • DeliveryOptions(对象数组)-交付选项对象的列表,包括每个对象的详细信息。必须至少包含一个。

    • 对于 AMI(独立)交付选项,请指定包含以下详细信息的对象。对于这种类型,您只能有一个配送选项。

      • 详细信息(对象)-保存此交付选项的详细信息。请注意,这个嵌套的 details 对象不需要进行双重转义。

        • AmiDeliveryOptionDetails(对象)— 用于提供每个 AMI 交付选项的详细信息。

          • AmiSource(对象)-有关要用于新增版本的 AMI 的详细信息。

            • AmiId(字符串)— 源 AMI 的 ID,位于调用 API AWS 区域 的位置。必须始终为美国东部(弗吉尼亚北部),因为该地区是唯一提供目录 API 的地区。必须属于来电者账户。

            • AccessRoleArn(字符串)— 用于访问所AWS Marketplace提供的 AMI 的 IAM 角色亚马逊资源名称 (ARN)。有关创建和使用此 ARN 的详细信息,请参阅AWS Marketplace卖家指南中的授予 AWS Marketplace 访问您的 AMI 的权限。

            • UserName(字符串)-用于访问 AMI 中操作系统 (OS) 的登录用户名。通常是 Linux AMI 的 ec2 用户或适用于 Windows 的管理员。

            • ScanningPort(整数)— 用于访问操作系统的 SSH 或 RDP 端口。用于扫描提供的 AMI 是否存在安全漏洞。默认为 22。

            • OperatingSystemName(字符串)-向买家显示的操作系统的名称。

            • OperatingSystemVersion(字符串)-向买家显示的操作系统版本字符串。

            • AfiIds(字符串数组)(可选)— 用于启用此版本的 FPGA 支持的 Amazon FPGA 映像 (AFI) ID。如果提供,则您的产品能够在 FPGA-enabled F2 实例类型上运行。每个版本最多可以提供 15 个 AFI ID。您提供的所有 AFI ID 都必须源自美国东部(弗吉尼亚州北部)区域,存放在您的 AWS Marketplace 卖家账户中,并且所提供的 IAM 访问角色应有权与 AWS Marketplace 共享此 AFI。有关所需权限的更多详情,请参阅AWS Marketplace卖家指南中的授予 AWS Marketplace 访问您的 FPGA 映像的权限。

          • UsageInstructions(字符串)— AMI 的使用说明,或指向有关 AMI 的更多信息的链接。

          • AccessEndpointUrl(object)(可选)— 用于在使用 AMI 之后创建访问 AMI 的路径。

            • 端口(字符串)-用于访问在 AMI 上运行的服务的端口号。

            • 协议(字符串)-用于访问在 AMI 上运行的服务的协议(http 或 https)。

            • RelativePath(字符串)— 从 Web 根目录访问在 AMI 上运行的服务的路径(例如 /index.html)。

          • RecommendedInstanceType(字符串)— 建议使用 AMI 运行服务的实例类型,并且是服务一键安装的默认实例类型。有关实例类型的列表,请参阅《适用于 Linux 实例的 Amazon 弹性计算云用户指南》中的实例类型

          • SecurityGroups(对象数组)— 表示为该版本自动创建的组的入口规则的对象列表。

            • IpProtocol(字符串)-要使用的协议(tcp 或 udp)。

            • FromPort(整数)-源端口。

            • ToPort(整数)-目标端口。

            • IpRanges(字符串数组)— 允许的 IP 范围,采用 CIDR 格式(格式为 xxx.xxx.xxx。 xxx/nn,例如,192.0.2.0/24)。

    • 对于带有 CloudFormation交付选项的 AMI,请指定包含以下详细信息的对象。您最多可以有三个此类配送选项。

      • DeliveryOptionTitle(字符串)-交付选项的标题。

      • 详细信息(对象)-保存 AMI 交付选项的详细信息。请注意,这个嵌套的 details 对象不需要进行双重转义。

        • DeploymentTemplateDeliveryOptionDetails(对象)— 用于提供每个 CFT 交付选项的详细信息。

          • ShortDescription(字符串)- CloudFormation 模板交付选项的简要描述。

          • LongDescription(字符串)- CloudFormation 模板交付选项的详细描述。

          • UsageInstructions(字符串)— AMI 的使用说明,或指向有关 AMI 的更多信息的链接。

          • RecommendedInstanceType(字符串)— 建议使用 AMI 运行服务的实例类型,并且是服务一键安装的默认实例类型。有关实例类型的列表,请参阅《适用于 Linux 实例的 Amazon 弹性计算云用户指南》中的实例类型

          • ArchitectureDiagram(字符串)— 指向您的架构图在 Amazon S3 中的位置的 URL。

          • 模板(字符串)-指向您的 CloudFormation 模板在 Amazon S3 中的位置的网址。

          • TemplateSources(对象数组)

            • ParameterName(字符串)- CloudFormation 模板中此版本中的 AMI 应传递到的参数的名称。有关更多信息,请参阅 AMI 要求详情

            • AmiSource(对象)

              • AmiId(字符串)— 源 AMI 的 ID,位于调用 API AWS 区域 的地方(当前必须始终为美国东部(弗吉尼亚北部),因为这是唯一可用 Catalog API 的地区)。必须属于来电者账户。

              • AccessRoleArn(字符串)— 用于访问所AWS 区域提供的 AMI 的 IAM 角色亚马逊资源名称 (ARN)。有关创建和使用此 ARN 的详细信息,请参阅AWS Marketplace卖家指南中的授予 AWS Marketplace 访问您的 AMI 的权限。

              • UserName(字符串)-用于访问 AMI 中操作系统 (OS) 的登录用户名。通常ec2-user适用于 Linux AMI 或 Window Administrator s。

              • OperatingSystemName(字符串)-向买家显示的操作系统的名称。

              • OperatingSystemVersion(字符串)-向买家显示的操作系统版本字符串。

响应语法

已根据您的请求创建更改集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

更改请求将添加到队列中并进行处理。这包括验证信息以确保其符合AWS Marketplace指导方针。验证过程可能需要几分钟到几小时不等。

您可以通过,也可以使用 API 操作直接通过 Catalog API 检查请求的DescribeChangeSet状态。AWS Marketplace 管理门户

有关卖家商品变更集错误的更多信息,请参阅更改集合状态和错误

请求完成后,将添加版本,任何现有订阅者都将收到一封电子邮件,告知他们有关新版本的信息。有关添加新版本流程的更多信息,请参阅《AWS Marketplace卖家指南》中的添加新版本

异步错误

以下错误特定于中的AddDeliveryOptions操作AWS Marketplace Catalog API。当您在处理更改集DescribeChangeSet之后调用时,会返回这些错误。有关使用DescribeChangeSet获取变更请求状态的更多信息,请参阅使用变更集

错误代码 错误消息
无效的_AMI_NAME AMI 名称中的前缀 (x) 无效。使用您的公司或品牌名称作为前缀提供新名称。

无效商品

使用现有的限量产品或公共产品。

重复版本标题

版本标题必须与本产品的任何其他版本标题不同。

版本标题无效

删除商标符号前的空格。

版本标题无效

移除不支持的字符:[x、y、z]

版本标题无效

删除版本标题开头的空格。

版本标题无效

提供少于 [x] 个字符的版本标题。

无效的发行说明

删除商标符号前的空格。

无效的发行说明

移除不支持的字符:[x、y、z]

无效的发行说明

删除发行说明开头的空格。

无效的发行说明

提供少于 (x) 个字符的发行说明。

使用说明无效

删除商标符号前的空格。

使用说明无效

移除不支持的字符:[x、y、z]

使用说明无效

删除发行说明开头的空格。

使用说明无效

提供少于 (x) 个字符的使用说明。

推荐实例类型不可用

提供现有的可用实例类型。

无效_推荐_实例_类型

提供有效的实例类型。

安全组无效

安全组端口数必须介于 1 和 [最大] 之间。

安全组无效

为 CIDR IP 范围提供一个值。

安全组无效

提供不大于结束端口的安全组起始端口。

安全组协议无效

安全组协议必须是 “tcp” 或 “udp”。

INVALID_CIDR_IP

以 '0.0.0 格式提供标准 CIDR IP 范围。 0/0'。

访问端点端口无效

提供小于 [x] 的端点端口。

访问端点端口无效

提供介于 1 和 [最大] 之间的端点端口。

访问端点端口无效

提供端点端口。

访问端点的相对路径无效

移除相对路径中的空格。

访问端点的相对路径无效

从相对路径中移除前面的 '/'。

不兼容的操作系统

提供与实例类型兼容的操作系统名称和版本:[x]

不兼容的操作系统名称

提供少于 (x) 个字符的名称。

不兼容的操作系统名称

提供支持的操作系统名称。

不兼容的操作系统版本

提供少于 (x) 个字符的版本。

扫描端口无效

提供介于 1 和 [最大] 之间的扫描端口。

INVALID_AMI_ID

提供有效的 AMI ID。

现有的_AMI_PRODUCT_CODE

移除附在图片 X 上的产品代码。

INVALID_AMI_架构

为新 AMI 提供架构 [x]。

无效_AMI_VIRTUALIZATION_TYPE

为新 AMI 提供虚拟化类型 [x]。

无效_AMI_VIRTUALIZATION_TYPE

在图片 [x] 上提供预期的 [z] 体积。

不兼容_AMI

提供新的 AMI,因为以下实例类型不支持 [y] 上的架构 [x]:[z]

不兼容_AMI

提供新的 AMI,因为以下实例类型不支持 [y] 上的虚拟化类型 [x]:[z]

不兼容_AMI

为映像 x 启用 ENA 支持,因为以下实例类型需要 ENA 支持:[y]

未找到资产

检查 [ami-id] 是否存在于 [account-id] 的 us-east-1 区域,以及所提供的 [AccessARNARN] 是否有权与AWS 账户之共享此 AMI。AWS Marketplace

资产访问异常

无法将 AMI [x] 复制到AWS Marketplace账户。

SCAN_ERROR

修复图片 [x] 上的安全漏洞 [y]。

未找到资产

检查 [afi-id] 是否存在于 [account-id] 的 us-east-1 区域,以及所提供AccessARN的 [ARN] 是否有权与AWS 账户之共享此 AFI。AWS Marketplace

资产访问异常

无法访问 AFI。检查提供的 AccessArn [ARN] 是否有权与之共享此 AFI,AWS Marketplace以及访问角色账户是否是 AFI 所有者。

缺少 FPGA_INSTANCE_TYPE

未找到基于 FPGA 的实例类型。使用 AddInstanceTypes 更改类型添加基于 FPGA 的实例类型。

您也可以使用创建 AMI-based 产品AWS Marketplace 管理门户。有关更多信息,请参阅《AWS Marketplace卖家指南》中的 AMI 产品

有关如何自动更新 AMI-based 商品的演练,您也可以参阅视频 “AWS Marketplace使用目录 API 自动更新您的产品清单” (5: 08)。

更新版本信息

您可以使用目录 API 更新中现有 AMI-based 产品版本的详细信息AWS Marketplace。

注意

有关使用更新版本信息的更多信息AWS Marketplace 管理门户,请参阅《AWS Marketplace卖家指南》中的更新版本信息

您无法更新该版本的 AMI。如果您需要更新 AMI,请改为创建一个新版本。

要添加新版本,请使用UpdateDeliveryOptions更改类型调用 StartChangeSet API 操作,如以下示例所示。

请求语法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "UpdateDeliveryOptions", "Entity": { "Identifier": "example1-abcd-1234-5ef6-7890abcdef12@1", "Type": "AmiProduct@1.0" }, "DetailsDocument": { "Version": { "ReleaseNotes": "*My new Release notes*" }, "DeliveryOptions": [ { "Id": "example1-2222-cccc-2222-cccccccccccc", "Details": { "AmiDeliveryOptionDetails": { "UsageInstructions": "Easy to use AMI" } } }, { "Id": "example1-2222-dddd-2222-dddddddddddd", "Details": { "DeploymentTemplateDeliveryOptionDetails": {work with ami "DeliveryOptionTitle": "My updated delivery option title", "UsageInstructions": "Updated usage instructions here." } } } ] } } ] }

以下是有关您为添加UpdateDeliveryOptions更改类型而提供的输入字段的信息。有关这些字段的更多信息,请参阅《AWS Marketplace卖家指南》中的更新版本信息

  • 实体(对象)(必填)-您的 AMI-based 产品。

    • 标识符(字符串)(必填)-您的产品编号。有关更多信息,请参阅 标识符

    • 类型(字符串)(必填)— 基于您的产品将使用的配送方式(产品类型):AmiProduct@1.0Type

  • DetailsDocument(对象)(必填)-请求的详细信息。它包含有关您想要更新的 AMI-based 产品版本的任何信息。包含的字段均为可选字段,但必须至少包含一个要更新的字段。

    • 版本(对象)-有关软件版本的详细信息。

      • ReleaseNotes(字符串)— 供买家告知从一个版本到下一个版本的更改的备注。

    • DeliveryOptions(对象数组)-交付选项对象列表。仅包括您要更新的配送选项。

      • 对于 AMI(独立)交付选项,请指定包含以下详细信息的对象。仅包含要更新的字段。除非另有说明,否则所有字段均为可选字段。

        • ID(字符串)(必填)-配送选项的唯一标识符(您可以通过对要更新的产品调用DescribeEntity操作来获取配送选项的唯一标识符)。

        • 详细信息(对象)-保存 AMI 交付选项的详细信息。请注意,这个嵌套的 details 对象不需要进行双重转义。

          • AmiDeliveryOptionDetails(对象)-一个 AMI 交付选项的详细信息。

            • UsageInstructions(字符串)— AMI 的使用说明,或指向有关 AMI 的更多信息的链接。

            • AccessEndpointUrl(对象)— 用于在使用 AMI 之后创建访问 AMI 的路径。

              • 端口(字符串)-用于访问在 AMI 上运行的服务的端口号。

              • 协议(字符串)-用于访问在 AMI 上运行的服务的协议(httphttps)。

              • RelativePath(字符串)— 从 Web 根目录访问在 AMI 上运行的服务的路径(例如/index.html)。

            • RecommendedInstanceType(字符串)— 建议使用 AMI 运行服务的实例类型,并且是服务一键安装的默认实例类型。

            • SecurityGroups(对象数组)— 表示为该版本自动创建的组的入口规则的对象列表:

              • FromPort(整数)-源端口。

              • IpProtocol(字符串)-要使用的协议(tcpidp)。

              • IpRanges(字符串数组)— 允许的 IP 范围,采用 CIDR 格式(格式为 xxx.xxx. xxx。 xxx/nn,例如,192.0.2.0/24)。

              • ToPort(整数)-目标端口。

      • 对于带有 CloudFormation交付选项的 AMI,请指定包含以下详细信息的对象。仅包含要更新的字段。除非另有说明,否则所有字段均为可选字段。

        • ID(字符串)(必填)-配送选项的唯一标识符(您可以通过对要更新的产品调用DescribeEntity操作来获取配送选项的唯一标识符)。

        • 详细信息(对象)-保存 AMI 交付选项的详细信息。请注意,这个嵌套的 details 对象不需要进行双重转义。

          • DeploymentTemplateDeliveryOptionDetails(对象)— 用于提供每个 CFT 交付选项的详细信息。

            • DeliveryOptionTitle(字符串)-交付选项的标题。

            • ShortDescription(字符串)- CloudFormation 模板交付选项的简要描述。

            • LongDescription(字符串)- CloudFormation 模板交付选项的详细描述。

            • UsageInstructions(字符串)— AMI 的使用说明,或指向有关 AMI 的更多信息的链接。

            • RecommendedInstanceType(字符串)— 建议使用 AMI 运行服务的实例类型,并且是服务一键安装的默认实例类型。有关实例类型的列表,请参阅《适用于 Linux 实例的 Amazon 弹性计算云用户指南》中的实例类型

            • ArchitectureDiagram(字符串)— 指向您的架构图在 Amazon S3 中的位置的 URL。

            • 模板(字符串)-指向您的 CloudFormation 模板在 Amazon S3 中的位置的网址。

            • TemplateSources(对象数组)

              • ParameterName(字符串)- CloudFormation 模板中此版本中的 AMI 应传递到的参数的名称。有关更多信息,请参阅 AMI 要求详情

              • AmiSource(对象)

                • AmiId(字符串)— 源 AMI 的 ID,位于调用 API AWS 区域 的地方(当前必须始终为美国东部(弗吉尼亚北部),因为这是唯一可用 Catalog API 的地区)。必须属于来电者账户。

                • AccessRoleArn(字符串)— 用于访问所AWS 区域提供的 AMI 的 IAM 角色亚马逊资源名称 (ARN)。有关创建和使用此 ARN 的详细信息,请参阅AWS Marketplace卖家指南中的授予 AWS Marketplace 访问您的 AMI 的权限。

                • UserName(字符串)-用于访问 AMI 中操作系统 (OS) 的登录用户名。通常ec2-user适用于 Linux AMI 或 Window Administrator s。

                • OperatingSystemName(字符串)-向买家显示的操作系统的名称。

                • OperatingSystemVersion(字符串)-向买家显示的操作系统版本字符串。

响应语法

已根据您的请求创建更改集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

更改请求将添加到队列中并进行处理。这包括验证信息以确保其符合AWS Marketplace指导方针。验证过程可能需要几分钟到几小时不等。

您可以通过,也可以使用 API 操作直接通过 Catalog API 检查请求的DescribeChangeSet状态。AWS Marketplace 管理门户

有关更改集的更多信息,请参阅使用变更集。有关卖家商品变更集错误的更多信息,请参阅更改集合状态和错误

异步错误

以下错误特定于中的UpdateDeliveryOptions操作AWS Marketplace Catalog API。当您在处理更改集DescribeChangeSet之后调用时,会返回这些错误。有关使用DescribeChangeSet获取变更请求状态的更多信息,请参阅使用变更集

在更改集开始处理后,您可以使用该DescribeChangeSet操作来检索UpdatePricingTerms操作。有关错误详情和疑难解答的更多信息更改集合状态和错误,请参阅本指南前面的。

错误代码 错误消息
无效商品 使用现有的限量产品或公共产品。
缺少配送选项编号 提供至少一个配送选项编号。
无效的配送选项编号 提供可在产品中找到的配送选项编号。找不到身份证:[x]
无效的配送选项 提供属于同一版本的配送选项 ID。

限制版本

您可以使用目录 API 来限制 AMI-based 产品的某个版本。这可以防止新买家使用该版本,但仍可供现有买家使用。限制某个版本的所有交付选项会限制该版本。限制一个版本中的一个或多个(但不是全部)交付选项只会限制该版本中的交付选项。您必须始终拥有至少一个不受限制的产品版本,这样您就无法限制产品的最新公开发售版本。

注意

有关AWS Marketplace通过限制 AMI 版本的更多信息AWS Marketplace 管理门户,请参阅《AWS Marketplace卖家指南》中的限制版本

要限制版本,请使用RestrictDeliveryOptions更改类型调用 StartChangeSet API 操作,如以下示例所示。

注意

无论限制状态如何,所有订阅者都可以使用当前版本。 AWS Marketplace指南要求您在限制版本后的 90 天内继续向现有买家提供支持。版本限制后,您的 AMI 将被标记为已弃用。有关更多信息,请参阅《适用于 Windows 实例的 Amazon Elastic Compute Cloud 用户指南》中的弃用 AMI

请求语法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "RestrictDeliveryOptions", "Entity": { "Identifier": "example1-abcd-1234-5ef6-7890abcdef12@1", "Type": "AmiProduct@1.0" }, "DetailsDocument": { "DeliveryOptionIds": [ "example1-2222-cccc-2222-cccccccccccc" ] } } ] }

以下是有关您为添加RestrictDeliveryOptions更改类型而提供的输入字段的信息:

  • 实体(对象)(必填)-您的 AMI-based 产品。

    • 标识符(字符串)(必填)-您的产品编号。有关更多信息,请参阅 标识符

    • 类型(字符串)(必填)— 基于您的产品将使用的配送方式(产品类型):AmiProduct@1.0Type

  • DetailsDocument(对象)(必填)-请求的详细信息。它包含您想要限制 AMI-based 的产品版本的 ID。

    • DeliveryOptionIds(对象数组)-要限制的版本的 DeliveryOption ID 列表。您可以DeliveryOption通过对您限制的版本调用DescribeEntity操作来获取的唯一标识符。

响应语法

已根据您的请求创建更改集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

更改请求将添加到队列中并进行处理。这包括验证信息以确保其符合AWS Marketplace指导方针。验证过程可能需要几分钟到几小时不等。

您可以通过,也可以使用 API 操作直接通过 Catalog API 检查请求的DescribeChangeSet状态。AWS Marketplace 管理门户

异步错误

以下错误特定于中的RestrictDeliveryOptions操作AWS Marketplace Catalog API。当您在处理更改集DescribeChangeSet之后调用时,会返回这些错误。有关使用DescribeChangeSet获取变更请求状态的更多信息,请参阅使用变更集

错误代码 错误消息

无效商品

使用现有的公共产品。

缺少配送选项编号

提供至少一个配送选项编号。

无效的配送选项编号

提供可在产品中找到的配送选项编号。找不到身份证:[x]

无效的配送选项

提供处于公共状态的配送选项 ID。身份证未处于公开状态:[x]

所有配送选项受限

提供更少的配送选项进行限制,因为必须至少有一个选项保持在公共状态。

更新 futureAWS 区域  支持

您可以使用目录 API 在中更改 AMI-based 产品的 future AWS 区域 支持偏好AWS Marketplace。

注意

有关使用更改未来区域支持的更多信息AWS Marketplace 管理门户,请参阅《AWS Marketplace卖家指南》中的 “更新对未来 AWS 区域的支持”。

注意

UpdateFutureRegionSupport更改类型仅适用于AmiProduct@1.0

要更改 fut AWS 区域 ure 支持首选项,请使用UpdateFutureRegionSupport更改类型调用 StartChangeSet API 操作,如以下示例所示。

请求语法

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

为要添加UpdateFutureRegionSupport更改类型的字段提供信息:

  • Entity(对象)(必填)-您的 AMI-based 产品。

    • Identifier(字符串)(必填)-您的产品编号。有关更多信息,请参阅 标识符

    • Type(字符串)(必填)— 基于您的产品将使用的配送方式(产品类型):AmiProduct@1.0Type

  • DetailsDocument(对象)(必填)-执行所需的详细信息 ChangeSet。

    • FutureRegionSupport— 对象

      • SupportedRegions— 字符串 Single-element数组

        元素支持的值:["All","US","None"] 中的一个

响应语法

已根据您的请求创建更改集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

更改请求将添加到队列中并进行处理。这包括验证信息以确保其符合AWS Marketplace指导方针。验证过程可能需要几分钟到几小时不等。

您可以通过,也可以使用 API 操作直接通过 Catalog API 检查请求的DescribeChangeSet状态。AWS Marketplace 管理门户

异步错误

以下错误特定于中的UpdateFutureRegionSupport操作AWS Marketplace Catalog API。当您在处理更改集DescribeChangeSet之后调用时,会返回这些错误。有关使用DescribeChangeSet获取变更请求状态的更多信息,请参阅使用变更集

错误代码 错误消息
区域太多了 当前,仅支持 1 个值 FutureRegionSupport:全部、美国或无
无效区域 请求的区域 [a、b、c] 无效或不可用。仅支持的值是 [x, y, z]。
INVALID_INPUT SupportedRegions 不能为空。

添加支持的AWS 区域

您可以使用目录 API 在中AWS 区域为您的 AMI-based产品添加新的支持AWS Marketplace。

注意

有关使用添加新的支持区域的更多信息AWS Marketplace 管理门户,请参阅AWS Marketplace卖家指南中的添加 AWS 区域

注意

AddRegions更改类型仅适用于AmiProduct@1.0

要添加新的支持区域,请使用AddRegions更改类型调用 StartChangeSet API 操作,如以下示例所示。

请求语法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "AddRegions", "DetailsDocument": { "Regions": [ "us-east-1", "ap-northeast-2" ] }, "Entity": { "Identifier": "prod-123456@1", "Type": "AmiProduct@1.0" } } ] }

为字段提供信息以添加AddRegions更改类型。

  • Entity(对象)(必填)-您的 AMI-based 产品。

    • Identifier(字符串)(必填)-您的产品编号。有关更多信息,请参阅 标识符

    • Type(字符串)(必填)— 基于您的产品将使用的配送方式(产品类型):AmiProduct@1.0Type

  • DetailsDocument (object) (required) – The details required to execute the ChangeSet.
    • Regions:字符串数组

      元素支持的值:有效的AWS 区域代码字符串。

      例如,["us-east- 1"]。

响应语法

已根据您的请求创建更改集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

更改请求将添加到队列中并进行处理。这包括验证信息以确保其符合AWS Marketplace指导方针。验证过程可能需要几分钟到几小时不等。

您可以通过,也可以使用 API 操作直接通过 Catalog API 检查请求的DescribeChangeSet状态。AWS Marketplace 管理门户

  • 如果更改集的执行状态为SUCCEEDED:生成了新的实体Identifier(或EntityId)。您可以对产品实体使用 DescribeEntityAPI 操作来检查结果。

  • 如果更改设置的执行状态为CLIENT_ERRORDescribeChangeSet响应会给出错误的详细信息,以及为修复错误而要采取的相应操作。

异步错误

以下错误特定于中的AddRegions操作AWS Marketplace Catalog API。当您在处理更改集DescribeChangeSet之后调用时,会返回这些错误。有关使用DescribeChangeSet获取变更请求状态的更多信息,请参阅使用变更集

错误代码 错误消息
无效区域 请求的区域 [a、b、c] 无效或不可用。仅支持的值是 [x, y, z]。
INVALID_INPUT 区域不能为空。

限制AWS 区域

您可以使用目录 API 来限制以前AWS 区域对您的 AMI-based 产品的支持AWS Marketplace。

注意

有关使用限制以前支持的区域的更多信息AWS Marketplace 管理门户,请参阅《AWS Marketplace卖家指南》中的限制 AWS 区域

注意

RestrictRegions更改类型仅适用于AmiProduct@1.0

要限制以前支持的区域,请使用RestrictRegions更改类型调用 StartChangeSet API 操作,如以下示例所示。

请求语法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "RestrictRegions", "DetailsDocument": { "Regions": [ "us-east-1", "ap-northeast-2" ] }, "Entity": { "Identifier": "prod-123456@1", "Type": "AmiProduct@1.0" } } ] }

为字段提供信息以添加AddRegions更改类型。

  • Entity(对象)(必填)-您的 AMI-based 产品。

    • Identifier(字符串)(必填)-您的产品编号。有关更多信息,请参阅 标识符

    • Type(字符串)(必填)— 基于您的产品将使用的配送方式(产品类型):AmiProduct@1.0Type

  • DetailsDocument(对象)(必填)-执行所需的详细信息 ChangeSet。

    • Regions— 字符串数组

      元素支持的值:有效的AWS 区域代码字符串,例如"us-east-1"

响应语法

已根据您的请求创建更改集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

更改请求将添加到队列中并进行处理。这包括验证信息以确保其符合AWS Marketplace指导方针。验证过程可能需要几分钟到几小时不等。

您可以通过,也可以使用 API 操作直接通过 Catalog API 检查请求的DescribeChangeSet状态。AWS Marketplace 管理门户

  • 如果更改集的执行状态为 SUCCEEDED — 则生成一个新的实体Identifier(或EntityId)。您可以在产品实体DescribeEntity上使用来检查结果。有关更多信息,请参阅 DescribeEntity

  • 如果更改设置的执行状态为CLIENT_ERRORDescribeChangeSet响应会给出错误的详细信息,以及为修复错误而要采取的相应操作。

异步错误

以下错误特定于中的AddRegions操作AWS Marketplace Catalog API。当您在处理更改集DescribeChangeSet之后调用时,会返回这些错误。有关使用DescribeChangeSet获取变更请求状态的更多信息,请参阅使用变更集

错误代码 错误消息
无效区域 请求的区域 [a、b、c] 无效或不可用。仅支持的值是 [x, y, z]。
INVALID_INPUT 区域不能为空。

添加新的实例类型

您可以在中使用目录 API 为您的 AMI-based 产品添加新的实例类型AWS Marketplace。

注意

有关使用添加实例类型的更多信息AWS Marketplace 管理门户,请参阅AWS Marketplace卖家指南中的添加实例

AddInstanceTypes将在创建产品时向现有产品和新创建的产品添加新的实例类型。更改类型将使用新的实例类型更新产品文档中的所有版本。

注意

AddInstanceTypes更改类型仅适用于AmiProduct@1.0

添加受限实例类型时,可以将该实例类型从限制列表中移除并添加到可用实例类型列表中。这为卖家提供了更改商品限制的更多控制权。实例类型列表是可互换的,而不是产品的永久受限状态。

对于内部计量的产品,卖家需要调用单独的变更类型AddDimensionsUpdatePricingTerms并更新实例类型的定价。

要添加新的实例类型,请使用RestrictRegions更改类型调用 StartChangeSet API 操作,如以下示例所示。

请求语法

AddInstanceTypes更改类型如下所示。尽管按内部计量的 AMI,但卖家需要致电AddInstanceTypesUpdatePricingTerms更改其 AMI 的类型。

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "AddInstanceTypes", "Entity": { "Identifier": "prod-example12345", "Type": "AmiProduct@1.0" }, "DetailsDocument": { "InstanceTypes": [ "m1.medium" ] } } ] }

为要添加AddInstanceTypes更改类型的字段提供信息:

  • Entity(对象)(必填)-您的 AMI-based 产品。

    • Identifier(字符串)(必填)-您的产品编号。有关更多信息,请参阅 标识符

    • Type(字符串)(必填)— 基于您的产品将使用的配送方式(产品类型):AmiProduct@1.0Type

  • DetailsDocument(object)(必填)— 在本例中为执行所需的详细信息InstanceTypesChangeSet

    • InstanceTypes(字符串数组)(必填)-InstanceTypes 要添加到产品的列表。这些实例将被添加到现有实例中InstanceTypes

响应语法

已根据您的请求创建更改集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

更改请求将添加到队列中并进行处理。这包括验证信息以确保其符合AWS Marketplace指导方针。验证过程可能需要几分钟到几小时不等。

您可以通过,也可以使用 API 操作直接通过 Catalog API 检查请求的DescribeChangeSet状态。AWS Marketplace 管理门户

同步验证

以下架构验证特定于中的AddInstanceTypesAWS Marketplace Catalog API操作。这些验证是在您致电StartChangeSet时执行的。如果请求不符合以下要求,则会失败,并显示 HTTP 响应。

输入字段 验证规则 HTTP
InstanceTypes 必填 422
InstanceTypes 不能为空 422
InstanceTypes 参赛作品长度必须介于 1 到 24 个字符之间。必须匹配 ^ [A-Za-z0-9_.-] +$ 422
InstanceTypes 参赛作品必须是唯一的 422
InstanceTypes 不得超过 1500 个参赛作品 422
未知财产 不允许使用其他属性 422

异步错误

以下错误特定于中的AddInstanceTypes操作AWS Marketplace Catalog API。当您在处理更改集DescribeChangeSet之后调用时,会返回这些错误。有关使用DescribeChangeSet获取变更请求状态的更多信息,请参阅使用变更集

错误代码 错误消息
无效的实例类型 以下实例类型无效:[x]
无效的实例虚拟化 产品的虚拟化为 [x]。以下实例类型不支持它:[x]
INVALID_AMI_架构 该产品的 CPU 架构是'%s'。” + “以下实例类型不支持它:[x]
不兼容的操作系统 实例类型与产品中定义的操作系统不兼容。提供与产品中定义的操作系统兼容的实例类型。
无效的商品类型 使用现有的单个 AMI 产品。
ENA_SETTING 无效 该产品不支持 ENA。以下实例类型需要 ENA 支持:[x]
无效维度 未找到实例类型的内部计量尺寸:[x]
缺少尺寸 未找到该商品的尺寸。 AddDimensions 之前是必填 AddInstanceTypes的。
需要更新定价 UpdatePricingTerms 当产品上有内部计量尺寸时,需要更改类型。

限制实例类型

您可以在中使用目录 API 来限制或限制您的 AMI-based 产品可用的实例类型AWS Marketplace。

注意

有关使用限制或限制可用实例类型的更多信息AWS Marketplace 管理门户,请参阅AWS Marketplace卖家指南中的限制实例

现有订阅者不会受到此变更的影响,他们可以使用受限实例类型。但是,任何新购买者都无法使用受限实例类型。要停止当前的实例类型订阅(一旦实例类型受到限制),您必须联系AWS Marketplace卖家运营团队。

RestrictInstanctTypes将实例类型限制为产品文档中的所有版本。在AddInstanceTypes更改类型中,您正在更新产品的所有版本。您将无法限制推荐的实例类型。推荐的实例类型为版本级别,因此卖家可能无法限制多个实例类型。

对于内部计量的产品,您需要在调用时调RestrictDimensions用单独的变更类型。这样可以防止为受限实例类型创建新的报价。

注意

RestrictInstanceTypes更改类型仅适用于AmiProduct@1.0

要限制或限制您的 AMI-based 产品可用的实例类型,请使用RestrictInstanceTypes更改类型调用 StartChangeSet API 操作,如以下示例所示。

请求语法

POST /StartChangeSet HTTP/1.1 Content-type: application/json { "Catalog": "AWSMarketplace", "ChangeSet": [ { "ChangeType": "RestrictInstanceTypes", "Entity": { "Identifier": "prod-example12345", "Type": "AmiProduct@1.0" }, "DetailsDocument": { "InstanceTypes": [ "m1.medium" ] } } ] }

为字段提供信息以添加RestrictInstanceTypes更改类型。

  • Entity(对象)(必填)-您的 AMI-based 产品。

    • Identifier(字符串)(必填)-您的产品编号。有关更多信息,请参阅 标识符

    • Type(字符串)(必填)— 基于您的产品将使用的配送方式(产品类型):AmiProduct@1.0Type

  • DetailsDocument(object)(必填)— 在本例中为执行所需的详细信息InstanceTypesChangeSet

    • InstanceTypes(字符串数组)(必填)-仅限InstanceTypes于产品的列表。这些实例将添加到当前(或者如果没有现有实例类型,则会添加)到受限实例InstanceTypes

响应语法

已根据您的请求创建更改集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

更改请求将添加到队列中并进行处理。这包括验证信息以确保其符合AWS Marketplace指导方针。验证过程可能需要几分钟到几小时不等。

您可以通过,也可以使用 API 操作直接通过 Catalog API 检查请求的DescribeChangeSet状态。AWS Marketplace 管理门户

同步验证

以下架构验证特定于中的RestrictInstanceTypesAWS Marketplace Catalog API操作。这些验证是在您致电StartChangeSet时执行的。如果请求不符合以下要求,则会失败,并显示 HTTP 响应。

输入字段 验证规则 HTTP
InstanceTypes 必填 422
InstanceTypes 不能为空 422
InstanceTypes 参赛作品长度必须介于 1 到 24 个字符之间。必须匹配 ^ [A-Za-z0-9_.-] +$ 422
InstanceTypes 参赛作品必须是唯一的 422
InstanceTypes 不得超过 1500 个参赛作品 422
未知财产 不允许使用其他属性 422

异步错误

以下错误特定于中的RestrictInstanceTypes操作AWS Marketplace Catalog API。当您在处理更改集DescribeChangeSet之后调用时,会返回这些错误。有关使用DescribeChangeSet获取变更请求状态的更多信息,请参阅使用变更集

错误代码 错误消息
无效_实例_类型 以下实例类型无效:[x]
无效_ 商品类型 使用现有的单个 AMI 产品。
重复实例类型 提供没有重复项的实例类型。
不可用实例类型 提供可用的实例类型。
推荐实例类型受限 无法限制以下实例类型。必须先将推荐的实例类型更改为不同的实例类型,然后才能受到限制。交付选项 ID [X] 实例类型 [X]
尺寸_不_限制 在限制内部计量的实例类型之前先限制维度:[x]
区域_NO_INSTANCES 您的受限实例类型会导致区域 X 的产品启动失败。请考虑限制更少的实例。
不兼容限制 您的受限实例类型将导致产品没有基于 FPGA 的 AFI 实例类型。产品需要支持至少一种基于 FPGA 的实例类型。