View a markdown version of this page

使用 AMI-based 产品 - AWS Marketplace

对 AWS Marketplace API 参考进行了重组。有关支持的 API 操作的更多信息,请参阅 AWS 市场 API 参考。

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

使用 AMI-based 产品

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

有关使用目录 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。有关更多信息,请参阅 Intent 。

注意

对于 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(独立)交付选项,请指定包含以下详细信息的对象。这种类型的配送选项只能有一个选项。

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

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

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

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

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

            • UserName(字符串)— 登录用户名以访问 AMI 中的操作系统 (OS)。对于 Linux AMI,通常是 ec2 用户,对于 Windows 来说通常是管理员。

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

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

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

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

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

          • AccessEndpointUrl(对象)(可选)-用于创建使用 AMI 后的访问路径。

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

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

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

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

          • SecurityGroups(对象数组)-代表版本自动创建组的入口规则的对象列表。

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

            • FromPort(整数)-源端口。

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

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

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

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

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

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

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

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

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

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

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

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

          • TemplateSources(对象数组)

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

            • AmiSource(对象)

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

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

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

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

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

响应语法

系统会为您的请求创建变更集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

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

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

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

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

异步错误

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

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

无效的产品

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

重复版本标题

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

版本标题无效

删除商标符号前的空格。

版本标题无效

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

版本标题无效

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

版本标题无效

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

无效的发行说明

删除商标符号前的空格。

无效的发行说明

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

无效的发行说明

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

无效的发行说明

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

无效的使用指令

删除商标符号前的空格。

无效的使用指令

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

无效的使用指令

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

无效的使用指令

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

推荐的实例类型不可用

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

无效_推荐的实例_类型

提供有效的实例类型。

无效的安全组

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

无效的安全组

为 CIDR IP 范围提供一个值。

无效的安全组

提供不大于结束端口的安全组启动端口。

无效的安全组协议

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

INVALID_CIDR_IP

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

无效的访问端点端口

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

无效的访问端点端口

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

无效的访问端点端口

提供端点端口。

无效的访问端点相对路径

删除相对路径中的空格。

无效的访问端点相对路径

从相对路径中删除前面的 “/”。

不兼容的操作系统

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

不兼容的操作系统名称

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

不兼容的操作系统名称

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

不兼容的操作系统版本

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

无效的扫描端口

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

INVALID_AMI_ID

提供有效的 AMI ID。

现有_AMI_产品_代码

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

AMI_ARCHITECTURE 无效

为新的 AMI 提供架构 [x]。

无效的 AMI_VIRTUALIZATION_TYPE

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

无效的 AMI_VIRTUALIZATION_TYPE

在图片 [x] 上提供预期的 [z] 音量。

INCOMPATIBLE_AMI

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

INCOMPATIBLE_AMI

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

INCOMPATIBLE_AMI

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

未找到资产

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

资产访问异常

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

扫描错误

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

未找到资产

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

资产访问异常

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

缺少_FPGA_实例_类型

未找到基于 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.0。Type

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

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

      • ReleaseNotes(字符串)-供买家告知他们从一个版本到下一个版本的变更的注意事项。

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

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

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

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

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

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

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

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

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

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

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

            • SecurityGroups(对象数组)-代表版本自动创建组的入口规则的对象列表:

              • FromPort(整数)-源端口。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            • TemplateSources(对象数组)

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

              • AmiSource(对象)

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

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

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

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

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

响应语法

系统会为您的请求创建变更集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

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

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

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

异步错误

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

在更改集开始处理后,您可以使用该DescribeChangeSet操作来检索UpdatePricingTerms操作。有关错误详细信息和故障排除的更多信息更改集合状态和错误,请参阅本指南前面的部分。

错误代码 错误消息
无效的产品 使用现有的有限或公共产品。
缺少配送选项_ID 提供至少一个配送选项 ID。
无效的配送选项_ID 提供可在产品中找到的配送选项 ID。找不到 ID: [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.0。Type

  • 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 指导方针。验证过程可能需要几分钟到几小时不等。

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

异步错误

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

错误代码 错误消息

无效的产品

使用现有的公共产品。

缺少配送选项_ID

提供至少一个配送选项 ID。

无效的配送选项_ID

提供可在产品中找到的配送选项 ID。找不到 ID: [x]

无效的配送选项

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

所有配送选项_受限

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

将来更新 AWS 区域   支持

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

注意

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

注意

UpdateFutureRegionSupport更改类型仅在上可用AmiProduct@1.0。

要更改未来的 AWS 区域 支持首选项,请使用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(字符串)(必填)-您的产品 ID。有关更多信息,请参阅 标识符。

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

  • 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 指导方针。验证过程可能需要几分钟到几小时不等。

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

异步错误

以下错误特定于中的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(字符串)(必填)-您的产品 ID。有关更多信息,请参阅 标识符。

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

  • 例
    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 指导方针。验证过程可能需要几分钟到几小时不等。

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

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

  • 如果变更集的执行状态为CLIENT_ERROR:DescribeChangeSet响应将提供错误的详细信息以及为修复错误而采取的相应操作。

异步错误

以下错误特定于中的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(字符串)(必填)-您的产品 ID。有关更多信息,请参阅 标识符。

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

  • 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 指导方针。验证过程可能需要几分钟到几小时不等。

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

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

  • 如果变更集的执行状态为CLIENT_ERROR:DescribeChangeSet响应将提供错误的详细信息以及为修复错误而采取的相应操作。

异步错误

以下错误特定于中的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 卖家必须致电AddInstanceTypes并UpdatePricingTerms更改其 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(字符串)(必填)-您的产品 ID。有关更多信息,请参阅 标识符。

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

  • DetailsDocument(对象)(必填)— 在本例中为执行所需的详细信息InstanceTypes。ChangeSet

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

响应语法

系统会为您的请求创建变更集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

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

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

同步验证

以下架构验证特定于中的AddInstanceTypes AWS 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]
AMI_ARCHITECTURE 无效 该产品的 CPU 架构为 '%s'。” + “以下实例类型不支持它:[x]
不兼容的操作系统 实例类型与产品中定义的操作系统不兼容。提供与产品中定义的操作系统兼容的实例类型。
无效的商品类型 使用现有的单一 AMI 产品。
INVALID_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(字符串)(必填)-您的产品 ID。有关更多信息,请参阅 标识符。

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

  • DetailsDocument(对象)(必填)— 在本例中为执行所需的详细信息InstanceTypes。ChangeSet

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

响应语法

系统会为您的请求创建变更集。对该请求的响应为您提供了变更集的和,如下所示。ChangeSetId ChangeSetArn

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

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

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

同步验证

以下架构验证特定于中的RestrictInstanceTypes AWS 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 的实例类型。