

Se reestructuró la referencia de API de AWS Marketplace. Para obtener más información sobre las operaciones de API compatibles, consulte la [referencia de API de AWS Marketplace](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Agregar una nueva versión
<a name="ml-add-version"></a>

Puede usar la API del catálogo o el portal AWS Marketplace de administración para agregar una nueva versión a un producto de aprendizaje automático. Para obtener más información sobre el uso del portal, consulte [Añadir una nueva versión](https://docs.aws.amazon.com/marketplace/latest/userguide/machine-learning-products.html) en la *Guía del vendedor de AWS Marketplace*. 

**nota**  
En el caso de los productos de aprendizaje automático, una versión consta de una única opción de entrega, que representa el producto que está poniendo a disposición. En la API del catálogo, al trabajar con las opciones de entrega de los productos de aprendizaje automático, se modifican de forma efectiva las versiones del producto.   
Al añadir nuevos tipos de instancias, incluye un tipo de `UpdatePricingTerms` cambio en el conjunto de cambios para especificar los precios de los nuevos tipos de instancias. En el caso de los productos nuevos, `UpdatePricingTerms` debe cubrir todos los tipos de instancias compatibles. `UpdatePricingDimensions`no es obligatorio ni compatible con los productos de aprendizaje automático, ya que las dimensiones se generan automáticamente para todos los tipos de instancias compatibles. Para obtener más información, consulta [Actualización de las dimensiones de precios](work-with-seller-products.md#update-dimensions).

**Se utiliza `StartChangeSet`para añadir una versión**

 Para añadir una nueva versión, llame a la `StartChangeSet` operación con el tipo de `AddDeliveryOptions` cambio: 

1.  Para validar tu llamada a la API sin crear una versión, `Intent` configúrala en`VALIDATE`. 

1.  Para la creación real de la versión, `Intent` establézcala en`APPLY`. 

## Sintaxis de la solicitud
<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"
}
```

## Campos obligatorios
<a name="add-version-required-fields"></a>
+  `Entity`(objeto): obligatorio 

  Contiene información sobre su producto de aprendizaje automático.
  +  `Identifier`(cadena): obligatorio 

    Tu identificador de producto. Para obtener más información, consulta [Identificador](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-apis.html#identifier).
  +  `Type`(cadena): obligatorio 

    Especifica el método de entrega (tipo de producto). Debe ser `MachineLearningProduct@1.0`.
+ `DetailsDocument`(objeto): obligatorio

  Contiene todos los detalles sobre la nueva versión del producto.
  + `Version`(objeto): obligatorio

    Detalles sobre la versión que se va a añadir.
    + `VersionTitle`(cadena): obligatorio

      El título de la versión, como «Versión 1.1" o «1.1". Los compradores seleccionan versiones de estos títulos.
    + `ReleaseNotes`(cadena): obligatorio

      Notas detalladas sobre esta versión. Debe tener menos de 30 000 caracteres.
  + `DeliveryOptions`(matriz): obligatorio

    Variedad de métodos de entrega para la versión de su producto. Limitado a una opción de entrega por versión.
    + `Details`(objeto): obligatorio
      + `SagemakerModelPackageDeliveryOptionDetails`o `SageMakerAlgorithmDeliveryOptionDetails` (objeto)
        + `SageMakerModelPackageArn`o `SageMakerAlgorithmArn` (cadena): obligatorio

          Nombre de recurso de Amazon (ARN) del paquete de modelos o algoritmo.
        + `AccessRoleArn`(cadena): obligatorio 

          ARN del rol de IAM para que AWS Marketplace acceda SageMaker al recurso.
        + `SampleNotebookUrl`(cadena): obligatorio 

          Enlace a un ejemplo de cuaderno de Jupyter con código de uso. Para obtener más información, consulte un [ejemplo de plantilla de bloc de notas](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) en. GitHub
        + `RepositoryUrl`(cadena): obligatorio 

          URL del repositorio de Git para acceder a cuadernos y datos de muestra. Para obtener más información, consulta un [ejemplo de repositorio de Git](https://github.com/aws/amazon-sagemaker-examples/tree/master/aws_marketplace/curating_aws_marketplace_listing_and_sample_notebook/ModelPackage/Sample_Notebook_Template) en GitHub. 
        + `UsageInstructions`(cadena): obligatorio 

          Información de entrenamiento para algoritmos o detalles de uso para modelos.
        + `InputProperties`(objeto): obligatorio
          + `Description`(cadena): obligatorio 

            Descripción de las entradas model/algorithm 
          + `Limitations` (cadena) 

            Limitaciones de entrada
          + `SampleInput`(objeto): obligatorio

            RealtimeInferenceUrl (cadena) \| RealtimeInferenceText (cadena) \| BatchTransformUrl (cadena) \| BatchTransformText (cadena)
          + `Parameters`(Matriz<Object>)

            Nombre (cadena): obligatorio \| Descripción (cadena): obligatorio \| Restricciones (cadena) \| Obligatorio (booleano)
          + `SageMakerCustomAttributes`<Object>(Matriz)

            Describe todos los [CustomAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html#API_runtime_InvokeEndpoint_RequestParameters)compatibles con su modelo.

            `Name`(cadena) —obligatorio \| `Description` (cadena) —Obligatorio \| `Constraints` (cadena) \| `Required` (booleano)
        + `OutputProperties`(objeto): obligatorio
          + `Description`(cadena): obligatorio
          + `SampleOutput`(Matriz<Object>): obligatorio

            RealtimeInferenceUrl (cadena) \| RealtimeInferenceText (cadena) \| BatchTransformUrl (cadena) \| BatchTransformText (cadena)
          + `Parameters`(Matriz)

            Nombre (cadena): obligatorio \| Descripción (cadena): obligatorio \| AlwaysReturned (booleano)
        + `RecommendedInstanceTypes`(objeto): obligatorio
          + `BatchTransform`(cadena): obligatorio
          + `RealtimeInference`(cadena): obligatorio
          + `Training`(cadena): obligatorio solo para algoritmos SageMaker

## Sintaxis de la respuesta
<a name="response-syntax"></a>

Al enviar la solicitud, se crea un conjunto de cambios y la API devuelve:

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

**Procesamiento del conjunto de cambios**  
La solicitud de cambio entra en una cola de procesamiento, donde se somete a varios pasos:

1. Validación: el sistema comprueba que toda la información cumpla con AWS Marketplace las directrices.
   +  Tiempo de procesamiento: de unos minutos a varias horas 
   +  Para ver los errores de validación, consulte [Cambiar el estado y los errores del conjunto](https://docs.aws.amazon.com/marketplace/latest/APIReference/work-with-seller-products.html#seller-product-change-set-errors). 

1.  Supervisión del estado: puede comprobar el estado de la solicitud de dos maneras. 
   + A través del portal de administración de AWS Marketplace
   + Usar la operación `DescribeChangeSet`

1.  Finalización: una vez aprobada, se añade la nueva versión. 

## Errores
<a name="errors"></a>

**Errores asíncronos**  
 Los siguientes errores son específicos de las `AddDeliveryOptions` acciones de la API del AWS Marketplace catálogo. Estos errores aparecen cuando llamas `DescribeChangeSet` mientras se está procesando un conjunto de cambios. Para obtener más información sobre cómo `DescribeChangeSet` comprobar el estado de una solicitud de cambio, consulte [Trabajar con conjuntos de cambios](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets). 




| Código de error | Mensaje de error | 
| --- | --- | 
| ESTADO DEL PRODUCTO INCOMPATIBLE\_ | No hemos podido localizar el producto proporcionado. Proporciona un producto válido. | 
| DUPLICATE\_VERSION\_TITLE | El título de la versión proporcionada ya está en uso. Cree un título de versión único. | 
| TIPO\_INSTANCIA\_RECOMENDADA NO VÁLIDA | No has proporcionado un tipo de instancia válido para [x]. Introduce un tipo de instancia válido e inténtalo de nuevo. Los tipos válidos son: [válidos] | 
| OPCIONES\_DE ENTREGA INCOMPATIBLES | La opción de envío que has indicado no coincide con tu selección anterior: [selección anterior]. Actualiza tu opción de envío e inténtalo de nuevo. | 
| INVALID\_ASSET\_ARN | No has proporcionado un ARN válido para. SageMakerAlgorithmDeliveryOption Introduce un ARN válido e inténtalo de nuevo. | 
| DUPLICATE\_ASSET | No proporcionaste un ARN único para este producto. Introduce un ARN único e inténtalo de nuevo. | 
| ASSET\_NOT\_FOUND | No hemos podido localizar el ARN que nos has proporcionado. Compruebe que el ARN es correcto y que tiene los permisos necesarios. | 
| ASSET\_VALIDATION\_EXCEPTION | No se puede introducir SagemakerModelArn/SagemakerAlgorithmArn [x] en la cuenta de AWS Sagemaker | 
| INVALID\_ACCESS\_ROLE | No hemos podido localizar el ARN del rol de IAM que nos has proporcionado. Compruebe que el ARN es correcto e inténtelo de nuevo. | 
| UPDATE\_PRICING\_REQUIRED | UpdatePricingTerms es obligatorio. | 