

AWS Marketplace API 참조가 재구성되었습니다. 지원되는 API 작업에 대한 자세한 내용은 [AWS Marketplace API 참조](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html)를 참조하세요.

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

# 새 버전 추가
<a name="ml-add-version"></a>

카탈로그 API 또는 AWS Marketplace 관리 포털을 사용하여 기계 학습 제품에 새 버전을 추가할 수 있습니다. 포털 사용에 대한 자세한 내용은 *AWS Marketplace 판매자 안내서*의 [새 버전 추가](https://docs.aws.amazon.com/marketplace/latest/userguide/machine-learning-products.html)를 참조하세요.

**참고**  
ML 제품의 경우 버전은 사용 가능한 제품을 나타내는 단일 제공 옵션으로 구성됩니다. 카탈로그 API에서 ML 제품의 제공 옵션을 사용하면 제품의 버전이 효과적으로 수정됩니다.  
새 인스턴스 유형을 추가할 때 `UpdatePricingTerms` 변경 세트에 변경 유형을 포함하여 새 인스턴스 유형에 대한 요금을 지정합니다. 새 제품의 경우는 지원되는 모든 인스턴스 유형을 포함해야 `UpdatePricingTerms` 합니다. `UpdatePricingDimensions`차원은 지원되는 모든 인스턴스 유형에 대해 자동으로 생성되므로는 ML 제품에 필요하거나 지원되지 않습니다. 자세한 정보는 [요금 차원 업데이트](work-with-seller-products.md#update-dimensions) 섹션을 참조하세요.

**`StartChangeSet`를 사용하여 버전 추가**

 새 버전을 추가하려면 `AddDeliveryOptions` 변경 유형으로 `StartChangeSet` 작업을 호출합니다.

1.  버전을 생성하지 않고 API 호출을 검증하려면를 `Intent`로 설정합니다`VALIDATE`.

1.  실제 버전 생성의 경우를 `Intent`로 설정합니다`APPLY`.

## 요청 구문
<a name="request-syntax"></a>

```
POST /StartChangeSet HTTP/1.1
Content-type: application/json
{
    "Catalog": "AWSMarketplace",
    "ChangeSet": [{
        "ChangeType": "AddDeliveryOptions",
        "Entity": {
            "Identifier": "example1-abcd-1234-5ef6-7890abcdef12@1",
            "Type": "MachineLearningProduct@1.0"
        },
        "DetailsDocument": {
            "Version": {
                "VersionTitle": "version 1.1",
                "ReleaseNotes": "Patch update for small bugfix in version 1.0"
            },
            "DeliveryOptions": [{
                "Details": {
                    "SageMakerAlgorithmDeliveryOptionDetails": {
                       "SageMakerAlgorithmArn": "arn:aws:sagemaker:us-east-2:605142612156:algorithm/scikit-decision-trees-1552343220",
                       "AccessRoleArn": "arn:aws:iam::12345678901:role/AwsMarketplaceSageMakerIngestion",
                        "UsageInstructions":"This is how you use your algorithm", 
                       "SampleNotebookUrl": "https://www.amazon.com",
                        "RepositoryUrl": "https://www,amazon.com",
                        "InputProperties": {
                            "Description": "Input should have all columns in the train/test file except for 'is_fraud' column.",
                            "Limitations": "Can predict on 1 input in the CSV only at a time",
                           "SampleInput": {
                                "RealtimeInferenceText": "{\"prompt\":\"Write summary\",
                                                            \"maxTokens\": 1 }",
                                "BatchTransformUrl": "https://www.sampleData.com",
                            },
                           "Parameters": [{
                                    "Name": "prompt",
                                    "Description": "Represents the instruct-style prompt for the model. DataType is String",
                                    "Constraints": "Minimum length should be 1",
                                    "Required": true
                                },
                                {
                                    "Name": "maxTokens",
                                    "Description": "Denotes the number of tokens to predict per generation. See BPE Tokens for more details.",
                                    "Constraints": "Minvalue: 1, MaxValue: 30"
                                }
                            ],
                            "SageMakerCustomAttributes": [{
                                    "Name": "threshold",
                                    "Description": "Threshold of the confidence score of the detected object",
                                    "Constraints": "Should be an Integer"
                            }]
                    },
                    "OutputProperties": {
                        "Description": "The output is a JSON object that has the generated text along with likelihoods of tokens, if requested. See example json.",
                       "SampleOutput": {
                            "RealtimeInferenceUrl": "https://www.sampledata.com",
                            "BatchTransformUrl": "https://www.sampleData.com",
                        },
                       "Parameters": [{
                                "Name": "id",
                                "Description": "An identifier for response"
                                "AlwaysReturned": true
                            },
                            {
                                "Name": "generations",
                                "Description": "The generated text along with the likelihoods for tokens requested.",
                            }
                        ],
                    },
                   "RecommendedInstanceTypes": {
                        "BatchTransform": "ml.m4.large",
                        "RealtimeInference": "ml.m4.large",
                        "Training": "ml.m4.large"
                   }
                }
            }]
        }
    }],
    "Intent": "APPLY"
}
```

## 필수 필드
<a name="add-version-required-fields"></a>
+  `Entity` (객체) - 필수 

  ML 제품에 대한 정보를 포함합니다.
  +  `Identifier` (문자열) - 필수 

    제품 ID입니다. 자세한 내용은 [식별자](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-apis.html#identifier)를 참조하세요.
  +  `Type` (문자열) - 필수 

    전송 방법(제품 유형)을 지정합니다. 반드시 `MachineLearningProduct@1.0`이어야 합니다.
+ `DetailsDocument` (객체) - 필수

  제품의 새 버전에 대한 모든 세부 정보를 포함합니다.
  + `Version` (객체) - 필수

    추가되는 버전에 대한 세부 정보입니다.
    + `VersionTitle` (문자열) - 필수

      "버전 1.1" 또는 "1.1"과 같은 버전의 제목입니다. 구매자는 이러한 제목에서 버전을 선택합니다.
    + `ReleaseNotes` (문자열) - 필수

      이 버전에 대한 자세한 참고 사항입니다. 30,000자 미만이어야 합니다.
  + `DeliveryOptions` (배열) - 필수

    제품 버전의 제공 방법 배열입니다. 버전당 하나의 전송 옵션으로 제한됩니다.
    + `Details` (객체) - 필수
      + `SagemakerModelPackageDeliveryOptionDetails` 또는 `SageMakerAlgorithmDeliveryOptionDetails` (객체)
        + `SageMakerModelPackageArn` 또는 `SageMakerAlgorithmArn` (문자열) - 필수

          모델 패키지 또는 알고리즘의 Amazon 리소스 이름(ARN)입니다.
        + `AccessRoleArn` (문자열) - 필수 

          AWS Marketplace가 SageMaker 리소스에 액세스하기 위한 IAM 역할 ARN입니다.
        + `SampleNotebookUrl` (문자열) - 필수 

          사용 코드가 포함된 Jupyter 노트북 샘플 링크입니다. 자세한 내용은 GitHub의 [샘플 노트북 템플릿을](https://github.com/aws/amazon-sagemaker-examples/blob/master/aws_marketplace/curating_aws_marketplace_listing_and_sample_notebook/ModelPackage/Sample_Notebook_Template/title_of_your_product-Model.ipynb) 참조하세요.
        + `RepositoryUrl` (문자열) - 필수 

          노트북 및 샘플 데이터 액세스를 위한 Git 리포지토리 URL입니다. 자세한 내용은 [GitHub의 샘플 Git 리포지토리](https://github.com/aws/amazon-sagemaker-examples/tree/master/aws_marketplace/curating_aws_marketplace_listing_and_sample_notebook/ModelPackage/Sample_Notebook_Template)를 참조하세요. GitHub 
        + `UsageInstructions` (문자열) - 필수 

          알고리즘에 대한 훈련 정보 또는 모델의 사용 세부 정보입니다.
        + `InputProperties` (객체) - 필수
          + `Description` (문자열) - 필수 

            모델/알고리즘 입력에 대한 설명
          + `Limitations`(문자열) 

            입력 제한 사항
          + `SampleInput` (객체) - 필수

            RealtimeInferenceUrl(문자열) \| RealtimeInferenceText(문자열) \| BatchTransformUrl(문자열) \| BatchTransformText(문자열)
          + `Parameters` (배열<객체>)

            이름(문자열) - 필수 \| 설명(문자열) - 필수 \| 제약 조건(문자열) \| 필수(부울)
          + `SageMakerCustomAttributes` (배열<객체>)

            모델에서 지원하는 모든 [CustomAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html#API_runtime_InvokeEndpoint_RequestParameters)를 설명합니다.

            `Name` (문자열) - 필수 \| `Description` (문자열) - 필수 \| `Constraints` (문자열) \| `Required` (부울)
        + `OutputProperties` (객체) - 필수
          + `Description` (문자열) - 필수
          + `SampleOutput` (Array<Object>) - 필수

            RealtimeInferenceUrl(문자열) \| RealtimeInferenceText(문자열) \| BatchTransformUrl(문자열) \| BatchTransformText(문자열)
          + `Parameters` (배열)

            이름(문자열) - 필수 \| 설명(문자열) - 필수 \| AlwaysReturned(부울)
        + `RecommendedInstanceTypes` (객체) - 필수
          + `BatchTransform` (문자열) - 필수
          + `RealtimeInference` (문자열) - 필수
          + `Training` (문자열) - SageMaker 알고리즘에만 필요합니다.

## 응답 구문
<a name="response-syntax"></a>

요청을 제출하면 변경 세트가 생성되고 API가 다음을 반환합니다.

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

**세트 처리 변경**  
변경 요청은 여러 단계를 거치는 처리 대기열로 들어갑니다.

1. 검증: 시스템은 모든 정보가 AWS Marketplace 지침을 충족하는지 확인합니다.
   +  처리 시간: 몇 분에서 몇 시간 
   +  검증 오류는 [변경 세트 상태 및 오류를](https://docs.aws.amazon.com/marketplace/latest/APIReference/work-with-seller-products.html#seller-product-change-set-errors) 참조하세요.

1.  상태 모니터링: 요청의 상태를 두 가지 방법으로 확인할 수 있습니다.
   + AWS Marketplace 관리 포털을 통해
   + `DescribeChangeSet` 작업 사용

1.  완료: 승인되면 새 버전이 추가됩니다.

## 오류
<a name="errors"></a>

**비동기 오류**  
 다음 오류는 AWS Marketplace 카탈로그 API의 `AddDeliveryOptions` 작업과 관련이 있습니다. 이러한 오류는 변경 세트가 처리되는 `DescribeChangeSet` 동안를 호출할 때 나타납니다. 를 사용하여 변경 요청의 상태를 확인하는 `DescribeChangeSet` 방법에 대한 자세한 내용은 [변경 세트 작업을](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets) 참조하세요.




| 오류 코드 | 오류 메시지 | 
| --- | --- | 
| INCOMPATIBLE\_PRODUCT\_STATUS | 제공된 제품을 찾을 수 없습니다. 유효한 제품을 제공합니다. | 
| DUPLICATE\_VERSION\_TITLE | 제공된 버전 제목이 이미 사용 중입니다. 고유한 버전 제목을 생성합니다. | 
| INVALID\_RECOMMENDED\_INSTANCE\_TYPE | [x]에 유효한 인스턴스 유형을 제공하지 않았습니다. 유효한 인스턴스 유형을 입력하고 다시 시도하세요. 유효한 유형: [valids] | 
| INCOMPATIBLE\_DELIVERY\_OPTIONS | 제공한 전송 옵션이 이전 선택 사항인 [이전 선택 사항]과 일치하지 않습니다. 전송 옵션을 업데이트하고 다시 시도하세요. | 
| INVALID\_ASSET\_ARN | SageMakerAlgorithmDeliveryOption에 유효한 ARN을 제공하지 않았습니다. 유효한 ARN을 입력하고 다시 시도하세요. | 
| DUPLICATE\_ASSET | 이 제품에 고유한 ARN을 제공하지 않았습니다. 고유한 ARN을 입력하고 다시 시도하십시오. | 
| ASSET\_NOT\_FOUND | 제공한 ARN을 찾을 수 없습니다. ARN이 올바르고 필요한 권한이 있는지 확인합니다. | 
| ASSET\_VALIDATION\_EXCEPTION | SagemakerModelArn/SagemakerAlgorithmArn [x]를 AWS Sagemaker 계정으로 수집할 수 없음 | 
| INVALID\_ACCESS\_ROLE | 제공한 IAM 역할 ARN을 찾을 수 없습니다. ARN이 올바른지 확인하고 다시 시도하세요. | 
| UPDATE\_PRICING\_REQUIRED | UpdatePricingTerms가 필요합니다. | 