View a markdown version of this page

AWS MarketplaceAPIs를 사용하여 컨테이너 기반 제품 작업 - AWS Marketplace

AWS Marketplace API 참조가 재구성되었습니다. 지원되는 API 작업에 대한 자세한 내용은 AWS Marketplace API 참조를 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS MarketplaceAPIs를 사용하여 컨테이너 기반 제품 작업

AWS Marketplace카탈로그 API를 사용하여 컨테이너 기반 제품 작업을 위한 작업을 자동화할 수 있습니다.

카탈로그 API를 사용하여 컨테이너 기반 제품을 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요제품 생성.

다음 주제에서는 카탈로그 API를 사용하여 컨테이너 기반 제품에 대한 작업을 수행하는 방법을 설명합니다.

새 버전 추가

컨테이너 기반 제품이 이미 있는 경우 AWS Marketplace를AWS Marketplace Catalog API 사용하여 새 버전을 추가할 수 있습니다. 이렇게 하려면 제품의 일부인 각 컨테이너 이미지 또는 아티팩트에 AWS Marketplace대해에서 리포지토리를 이미 생성하고 로컬 및 Docker Helm 파일에서 리포지토리를 복사할 수 있어야 합니다.

참고

를 사용하여 컨테이너 기반 제품을 생성하는 방법에 대한 자세한 내용은 AWS Marketplace 판매자 안내서컨테이너 제품 시작하기를 AWS Marketplace Management Portal참조하세요.

를 사용하여 리포지토리 생성, 리포지토리에 Docker 및 Helm 파일 빌드 등 새 버전을 추가하는 방법에 대한 자세한 내용은 AWS Marketplace판매자 안내서의 새 제품 버전 추가를 AWS Marketplace Management Portal참조하세요. https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-add-version

새 리포지토리를 아직 생성하지 않은 경우 카탈로그 API를 사용하여 생성할 수 있습니다. 섹션을 참조하세요리포지토리 및 리소스 생성.

새 버전을 추가하려면 다음 예제와 같이 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입니다. 자세한 내용은 식별자 단원을 참조하십시오.

    • 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 | monitoring | logging | cert-management | policy-management | cost-management | autoscaling | storage | kubernetes-management | service-mesh | etcd-backup | ingress-service-type | load-balancer | local-registry| networking | Security | backup | ingress-controller | observability

        • AddOnVersion – 구매자가 설치 또는 업그레이드해야 하는 특정 버전의 AddOn을 선택할 수 있는 의미 체계 버전입니다.

        • CompatibleKubernetesVersions -이 소프트웨어가 호환되는 Amazon EKS Kubernetes 버전입니다.

        • CompatibleServices (문자열 배열) - 릴리스가 호환되는 서비스의 배열입니다. 유효한 옵션: ECS, EKS, EKS-Anywhere, ECS-AnywhereBedrock-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}".

          유료 제품의 경우 서비스 계정 구성에 대한 재정의 파라미터를 하나 이상 제공합니다. DefaultValue를 제공합니다"${AWSMP_SERVICE_ACCOUNT}".

          • Key (문자열) - 점 표기법(override.example.key)의 파라미터 키입니다.

          • DefaultValue (문자열) -이 재정의 파라미터의 기본값입니다.

        • Namespace – 추가 기능 설치를 위한 ISV 제공 네임스페이스입니다.

        • SupportedArchitectures – amd64 및 arm64와 같은 지원되는 아키텍처 목록입니다.

        • UsageInstructions (문자열) -이 전송 옵션의 사용에 대한 지침을 제공합니다. 최대 4,000자까지 가능합니다.

응답 구문

요청에 대한 변경 세트가 생성됩니다. 이 요청에 대한 응답은 변경 세트에 ChangeSetArn 대한 ChangeSetId 및를 제공하며 다음과 같습니다.

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

변경 요청은 대기열에 추가되고 처리되며, 여기에는 컨테이너 이미지 및 기타 정보를 스캔하여 AWS Marketplace 컨테이너 제품에 대한 지침을 충족하는지 확인하는 작업이 포함됩니다. 이 프로세스는 컨테이너의 수와 크기에 따라 몇 분에서 몇 시간이 걸릴 수 있습니다.

를 통해 AWS Marketplace Management Portal또는 API 작업을 사용하여 카탈로그 DescribeChangeSet API를 통해 직접 요청 상태를 확인할 수 있습니다.

변경 세트에 대한 자세한 내용은 변경 세트 작업의 내용을 참조하세요. 판매자 제품 변경 세트의 오류에 대한 자세한 내용은 섹션을 참조하세요설정 상태 및 오류 변경.

비동기 오류

다음 오류는의 AddDeliveryOptions 작업과 관련이 있습니다AWS Marketplace Catalog API. 이러한 오류는 변경 세트가 처리된 DescribeChangeSet 후를 호출할 때 반환됩니다. 를 사용하여 변경 요청의 상태를 가져오는 DescribeChangeSet 방법에 대한 자세한 내용은 섹션을 참조하세요변경 세트 작업.

오류 코드 오류 메시지

INCOMPATIBLE_PRODUCT_STATUS

기존의 제한 또는 공개 제품을 사용합니다.

호환되지 않는_서비스

서비스 목록에 호환되지 않는 서비스가 포함되어 있습니다. [incompatible_services] 호환되는 서비스의 유효한 목록을 제공합니다.

NO_SERVICE_SPECIFIED

호환되는 서비스를 하나 이상 제공합니다.

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

사용 지침을 제공합니다.

누락_컨테이너_IMAGES

하나 이상의 컨테이너 이미지를 제공합니다.

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]는이 제품에 액세스할 수 없습니다. 이미지를 해당 제품 리포지토리에 업로드합니다. 업로드에 대한 자세한 내용은 컨테이너 제품 시작하기를 참조하세요.

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_버전

중복 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 URI [invalid_uri]가 잘못되었습니다. SemVer 2 형식으로 URI를 제공합니다.

INCOMPATIBLE_HELM_OBJECTS(INVALID_HELM_OBJECTS)

지원되지 않는 Helm 객체: <unsupported-objects>를 사용하지 않고 Helm 차트를 제공합니다.

INVALID_DEPENDENT_HELM_CHARTS

외부 소스가 아닌 상위 차트 디렉터리에 직접 종속 차트 <invalid-subcharts>가 포함된 차트 Helm을 제공합니다.

INVALID_HELM_SENSITIVE_CONFIG

민감한 정보나 보안 암호 없이 고급 구성 스키마를 제공합니다. 키워드: <sensitive-parameters-identified>

INVALID_HELM_UNDECLARED_IMAGES

요청의 전송 옵션 내에 <list-of-images> Helm 차트 이미지를 제공합니다.

INVALID_HELM_CHART_IMAGES

AddRepositories 변경 유형을 통해 생성된 리포지토리 내의 이미지가 포함된 차트 Helm을 제공합니다. 외부 이미지: <images-identified>.

INVALID_HELM_LINT

Helm lint를 성공적으로 전달하는 Helm 차트를 제공합니다.

INVALID_HELM_TEMPLATE

Helm 템플릿을 성공적으로 전달하는 Helm 차트를 제공합니다.

INVALID_HELM_CHART

AWS Marketplace판매자 안내서의 차트 Helm 글머리 기호 목록에 나와 있는 AWS Marketplace지침을 준수하는 차트 Helm을 제공합니다. https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-policies.html

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_image_tag]가 잘못되었습니다. {CONTAINER_IMAGE_TAG_REGEX} 정규식을 준수하는 태그를 제공합니다.

DUPLICATE_OVERRIDE_파라미터_키

재정의 파라미터에는 중복 키 [duplicate_keys]가 포함되어 있습니다. 중복 항목을 제거합니다.

지원되지 않는_컨테이너_이미지_URI

컨테이너 이미지 [unsupported_image]는 지원되지 않습니다. 이미지 매니페스트 V 2, 스키마 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 추가 기능에 대한 가시성 업데이트

카탈로그 API를 사용하여 제품 버전의 Amazon EKS 추가 기능 제공 옵션에 대한 가시성을 업데이트할 수 있습니다AWS Marketplace. 컨테이너 제품의 컨테이너 및 Helm 전송 옵션은 '공개' 가시성 상태로 자동으로 생성됩니다.

참고

제품 버전의 가시성을 업데이트하는 기능은 나열된 버전의 Amazon EKS 추가 기능 제공 옵션에서만 지원됩니다. 제품이 아직 '퍼블릭'이 아닌 경우를 사용하여 '퍼블릭' 가시성 상태의 제품을 게시하는 요청을 제출합니다AWS Marketplace Management Portal.

기본적으로 Amazon EKS 추가 기능 전송 옵션을 사용하여 버전을 생성하면 '제한됨' 상태로 게시됩니다. '제한됨' 상태는 구매자가 Amazon EKS 클러스터에서 사용하고 배포할 수 있도록 모든 리전에서 제품을 공개적으로 사용할 수 없음을 의미합니다. UpdateDeliveryOptionsVisibility 변경 유형으로 StartChangeSet API 작업을 호출하여 전송 옵션의 가시성을 '제한됨'에서 '공개'로 업데이트할 수 있습니다. Amazon EKS 추가 기능 제공 옵션에 해당하는 DeliveryOptions Id 제품 버전의를 지정합니다.

요청 구문

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

UpdateDeliveryOptionsVisibility 변경 유형을 추가하려면 다음 필드에 대한 정보를 제공합니다.

  • Entity (객체)(필수) - 컨테이너 기반 제품.

    • Identifier (문자열)(필수) - 제품 ID입니다. 자세한 내용은 식별자 단원을 참조하십시오.

    • Type (문자열)(필수) - Type는 제품이 사용하는 제공 방법(제품 유형)을 기반으로 합니다ContainerProduct@1.0.

  • DetailsDocument (객체) (필수) - 생성하려는 리포지토리에 대한 정보를 포함하여 요청의 세부 정보입니다. 다음 필드는 모두 필수입니다.

    • DeliveryOptions (객체 목록) - 각 객체의 세부 정보를 포함한 DeliveryOption 객체 목록:

      • Id (문자열) -의 고유 식별자입니다DeliveryOption. (의 고유 식별자를 가져오려면 업데이트하려는 제품에 대한 DescribeEntity 작업을 DeliveryOption호출합니다.

      • TargetVisibility - 제품의 의도한 새로운 가시성입니다.

응답 구문

요청에 대한 변경 세트가 생성됩니다. 이 요청에 대한 응답은 변경 세트에 ChangeSetArn 대한 ChangeSetId 및를 제공합니다.

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

변경 요청은 대기열에 추가되고 처리되며, 여기에는 컨테이너 이미지 및 기타 정보를 스캔하여 AWS Marketplace 컨테이너 제품에 대한 지침을 충족하는지 확인하는 작업이 포함됩니다. 이 프로세스는 컨테이너의 수와 크기에 따라 몇 분에서 몇 시간이 걸릴 수 있습니다.

를 통해 AWS Marketplace Management Portal또는 DescribeChangeSet API 작업을 사용하여 AWS Marketplace Catalog API를 통해 요청 상태를 확인할 수 있습니다.

변경 세트에 대한 자세한 내용은 변경 세트 작업의 내용을 참조하세요. 판매자 제품 변경 세트의 오류에 대한 자세한 내용은 섹션을 참조하세요설정 상태 및 오류 변경.

비동기 오류

다음 표에는의 AddDeliveryOptions 작업과 관련된 오류가 나와 있습니다AWS Marketplace Catalog API. 이러한 오류는 변경 세트가 처리된 DescribeChangeSet 후를 호출할 때 반환됩니다. 를 사용하여 변경 요청의 상태를 가져오는 DescribeChangeSet 방법에 대한 자세한 내용은 섹션을 참조하세요변경 세트 작업.

오류 코드 오류 메시지

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 제공합니다.

감사_오류

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]가 퍼블릭 버전 네임스페이스와 일치하지 않습니다. 릴리스하기 전에 추가 기능 네임스페이스를 업데이트합니다.

리포지토리 및 리소스 생성

컨테이너 기반 제품의 새 버전을 생성하려면 AWS Marketplace리포지토리에서 사용할 수 있는 버전의 리소스가 있어야 합니다. 리포지토리를 생성한 다음 Docker (및 ) 리소스를 리포지토리로 푸시(업로드Helm)합니다. 를 통해 리포지토리를 생성하는 방법을 알아보려면 AWS Marketplace판매자 안내서의 새 제품 버전 추가를 AWS Marketplace Management Portal참조하세요. https://docs.aws.amazon.com/marketplace/latest/userguide/container-product-getting-started.html#container-add-version

새 리포지토리를 생성하려면 다음 예제와 같이 AddRepositories 변경 유형StartChangeSet으로를 호출합니다.

요청 구문

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판매자 안내서 새 버전 추가를 참조하세요.

  • Entity (객체)(필수) - 컨테이너 기반 제품.

    • 식별자(문자열)(필수) - 제품 ID입니다. 자세한 내용은 식별자 단원을 참조하십시오.

    • Type (문자열)(필수) - Type는 제품이 사용할 전송 방법(제품 유형)을 기반으로 합니다ContainerProduct@1.0.

  • DetailsDocument (객체)(필수) - 요청의 세부 정보입니다. 여기에는 생성하려는 리포지토리에 대한 정보가 포함됩니다. 포함된 필드는 모두 필수입니다.

    • Repositories (구조 배열) - 리포지토리 객체 목록입니다. 각 리포지토리 객체에는 이름과 유형이 포함됩니다.

      • RepositoryName (문자열) - 생성할 리포지토리의 이름입니다.

      • RepositoryType (문자열) - 생성할 리포지토리의 유형입니다. 허용되는 유일한 값은 ECR입니다.

참고

제품당 최대 70개의 리포지토리를 보유할 수 있지만, 여러 리소스와 리소스 버전을 푸시할 때 서로 다른 태그를 제공하여 단일 리포지토리에 추가할 수 있습니다.

하나 이상의 리포지토리를 생성한 후 리소스를 리포지토리에 추가합니다. 리소스를 리포지토리로 푸시하는 방법에 대한 자세한 내용은 Amazon Elastic Container Registry 사용 설명서 이미지 푸시를 참조하세요. 리포지토리 중 하나에 필요한 특정 푸시 명령에 대한 자세한 내용은 AWS Marketplace판매자 안내서 새 버전 추가를 참조하세요.

비동기 오류

다음 오류는의 AddRepositories 작업과 관련이 있습니다AWS Marketplace Catalog API. 이러한 오류는 변경 세트가 처리된 DescribeChangeSet 후를 호출할 때 반환됩니다. 를 사용하여 변경 요청의 상태를 가져오는 DescribeChangeSet 방법에 대한 자세한 내용은 섹션을 참조하세요변경 세트 작업.

오류 코드 오류 메시지

INVALID_ECR_REPOSITORY_NAME

리포지토리 이름을 'nginx-web-app' 형식으로 제공합니다.

DUPLICATE_ECR_리포지토리_이름

[duplicate_repo_names] 리포지토리가 이미 있습니다. 다른 이름을 선택합니다.

MISSING_REPOSITORY_INFORMATION

리포지토리 이름을 하나 이상 입력합니다.

INVALID_ECR_REPOSITORY_NAME

최대 문자 길이 256에 도달했습니다. 문자 길이 수에는 판매자 네임스페이스가 포함됩니다.

버전 정보 업데이트

카탈로그 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판매자 안내서 새 버전 추가를 참조하세요.

  • Entity (객체)(필수) - 컨테이너 기반 제품.

    • Identifier (문자열)(필수) - 제품 ID입니다. 자세한 내용은 식별자 단원을 참조하십시오.

    • 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-AnywhereBedrock-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 권한을 AWS Identity and Access Management위해에 연결하는 데 사용됩니다.

          • ReleaseName (문자열) - 구매자가 소프트웨어를 시작하는 데 사용하는 helm install 명령에 제공된 Helm 릴리스의 이름입니다.

          • Namespace (문자열) - Helm 차트가 설치될 Kubernetes 네임스페이스입니다.

          • OverrideParameters (객체 배열) - 애플리케이션을 시작하는 Helm 명령에 사용할 파라미터입니다. 구매자는 기본값을 재정의할 수 있습니다.

            • Key (문자열) - 점 표기법의 파라미터 키(override.example.key).

            • DefaultValue (문자열) -이 재정의 파라미터의 기본값입니다.

응답 구문

요청에 대한 변경 세트가 생성됩니다. 이 요청에 대한 응답은 변경 세트에 ChangeSetArn 대한 ChangeSetId 및를 제공하며 다음과 같습니다.

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

변경 요청은 대기열에 추가되고 컨테이너 이미지 및 기타 정보 스캔을 포함하여 처리되어 컨테이너 AWS Marketplace 제품에 대한 지침을 충족하는지 확인합니다. 이 프로세스는 컨테이너의 수와 크기에 따라 몇 분에서 몇 시간이 걸릴 수 있습니다.

를 통해 AWS Marketplace Management Portal또는 API 작업을 사용하여 카탈로그 DescribeChangeSet API를 통해 직접 요청 상태를 확인할 수 있습니다.

변경 세트에 대한 자세한 내용은 변경 세트 작업의 내용을 참조하세요. 판매자 제품 변경 세트의 오류에 대한 자세한 내용은 섹션을 참조하세요설정 상태 및 오류 변경.

비동기 오류

다음 오류는의 UpdateDeliveryOptions 작업과 관련이 있습니다AWS Marketplace Catalog API. 이러한 오류는 변경 세트가 처리된 DescribeChangeSet 후를 호출할 때 반환됩니다. 를 사용하여 변경 요청의 상태를 가져오는 DescribeChangeSet 방법에 대한 자세한 내용은 섹션을 참조하세요변경 세트 작업.

오류 코드 오류 메시지

INCOMPATIBLE_PRODUCT_STATUS

기존 제한 또는 공개 제품을 사용합니다.

호환되지 않는_서비스

서비스 목록에 호환되지 않는 서비스가 포함되어 있습니다. [incompatible_services] 호환되는 서비스의 유효한 목록을 제공합니다.

NO_SERVICE_SPECIFIED

호환되는 서비스를 하나 이상 제공합니다.

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

사용 지침을 제공합니다.

누락_컨테이너_IMAGES

하나 이상의 컨테이너 이미지를 제공합니다.

TOO_MANY_CONTAINER_IMAGES

50개 미만의 컨테이너 이미지를 제공합니다.

DUPLICATE_CONTAINER_IMAGES

컨테이너 이미지 목록에는 [duplicate_images]라는 중복 이미지가 포함되어 있습니다. 고유한 이미지가 포함된 목록을 제공합니다.

INVALID_CONTAINER_IMAGES

컨테이너 이미지에 유효한 URI를 제공합니다.

INVALID_CONTAINER_IMAGE_URI

이미지 [invalid_image_uri]는이 제품에 액세스할 수 없습니다. 이미지를 해당 제품 리포지토리에 업로드합니다. 업로드에 대한 자세한 내용은 컨테이너 제품 시작하기를 참조하세요.

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개를 제공합니다. 의 요구 사항은 섹션의 예제를 "${AWSMP_LICENSE_SECRET}"참조하세요 DefaultValue.

NO_SERVICE_ACCOUNT_CONFIGURATION

유료 제품의 경우 서비스 계정 구성에 대한 재정의 파라미터 1개를 제공합니다. DefaultValue의 요구 사항은 섹션의 예제를 "${AWSMP_SERVICE_ACCOUNT}"참조하세요.

SCAN_ERROR

이미지 ""[x]""의 보안 취약성 ""[y]"를 수정했습니다.

FIELD_NOT_ALLOWED_TO_CHANGE

[x] 필드는 변경할 수 없습니다.

INVALID_DELIVERY_OPTIONS_STATUS

[invalid_ids] 전송 옵션 IDs가 잘못되었습니다. 제한 또는 퍼블릭 상태에서 전송 옵션을 제공합니다.

NO_CHANGE_FOUND

하나 이상의 변경 사항을 제공합니다.

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_파라미터_키

재정의 파라미터에는 중복 키 [duplicate_keys]가 포함되어 있습니다. 중복 항목을 제거합니다.

지원되지 않는_컨테이너_이미지_URI

컨테이너 이미지 [unsupported_image]는 지원되지 않습니다. 이미지 매니페스트 V 2, 스키마 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]가 기존 네임스페이스와 일치하지 않습니다 . 이 추가 기능의 퍼블릭 버전 또는 이전 버전에서 기존 네임스페이스를 재사용합니다. 각 제품에 대해 하나의 추가 기능 네임스페이스만 사용할 수 있습니다.

버전 제한

카탈로그 API를 사용하여 컨테이너 기반 제품의 버전을 제한할 수 있습니다AWS Marketplace. 이렇게 하면 새 구매자가 해당 버전을 사용할 수 없습니다. 제품에는 공개적으로 사용 가능한 버전이 하나 이상 있어야 합니다. 제품에 대해 공개적으로 사용 가능한 나머지 버전만 제한할 수 없습니다.

버전을 제한하려면 다음 예제와 같이 RestrictDeliveryOptions 변경 유형으로 StartChangeSet API 작업을 호출합니다.

참고

버전에서 전부는 아니지만 하나 이상의 전송 옵션을 제한하면 구매자가 해당 옵션을 사용할 수 없게 됩니다. 버전에 대한 모든 전송 옵션을 제한하면 카탈로그에서 해당 버전이 제거됩니다AWS Marketplace.

Amazon EKS 추가 기능 제한은 현재 카탈로그 API를 통해 지원되지 않습니다.

기존 고객은 제한된 버전을 계속 사용할 수 있습니다.

요청 구문

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입니다. 자세한 내용은 식별자 단원을 참조하십시오.

    • Type (문자열)(필수) - Type는 제품이 사용할 제공 방법(제품 유형)을 기반으로 합니다ContainerProduct@1.0.

  • DetailsDocument (객체)(필수) - 요청의 세부 정보입니다. 여기에는 제한하려는 컨테이너 기반 제품의 전송 옵션에 대한 IDs가 포함됩니다.

    • DeliveryOptionIds (문자열 배열) - 제한하려는 버전의 DeliveryOption IDs 목록입니다. 제한하려는 제품에 대한 DescribeEntity 작업을 호출DeliveryOption하여의 고유 식별자를 가져올 수 있습니다.

응답 구문

요청에 대한 변경 세트가 생성됩니다. 이 요청에 대한 응답은 변경 세트에 ChangeSetArn 대한 ChangeSetId 및를 제공하며 다음과 같습니다.

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

변경 요청이 대기열에 추가되고 처리됩니다. 이 프로세스는 몇 분에서 몇 시간이 걸릴 수 있습니다.

를 통해 AWS Marketplace Management Portal또는 API 작업을 사용하여 카탈로그 DescribeChangeSet API를 통해 직접 요청 상태를 확인할 수 있습니다.

변경 세트에 대한 자세한 내용은 변경 세트 작업의 내용을 참조하세요. 판매자 제품 변경 세트의 오류에 대한 자세한 내용은 섹션을 참조하세요설정 상태 및 오류 변경.

비동기 오류

다음 오류는의 RestrictDeliveryOptions 작업에만 해당됩니다AWS Marketplace Catalog API. 이러한 오류는 변경 세트가 처리된 DescribeChangeSet 후를 호출할 때 반환됩니다. 를 사용하여 변경 요청의 상태를 가져오는 DescribeChangeSet 방법에 대한 자세한 내용은 섹션을 참조하세요변경 세트 작업.

오류 코드 오류 메시지

INCOMPATIBLE_PRODUCT_STATUS

퍼블릭 제품을 사용합니다.

MISSING_DELIVERY_OPTION_IDS

기존 IDs 목록에서 전송 옵션을 제공합니다.

INVALID_DELIVERY_OPTIONS_STATUS

[invalid_ids] 전송 옵션 IDs가 잘못되었습니다. 퍼블릭 상태에서 전송 옵션을 제공합니다.

EMPTY_DELIVERY_OPTION_IDS

비어 있지 않은 전송 옵션 IDs 목록을 제공합니다.

INVALID_MINIMUM_PUBLIC_DELIVERY_OPTIONS

모든 전송 옵션 IDs 제한할 수는 없습니다.

DUPLICATE_DELIVERY_OPTION_IDS

중복 전송 옵션 IDs: [duplicate_ids]. 고유한 전송 옵션 IDs 제공합니다.