

La référence d'API AWS Marketplace a été restructurée. Pour plus d'informations sur les opérations d'API prises en charge, consultez le manuel [AWS Marketplace API Reference](https://docs.aws.amazon.com/marketplace/latest/APIReference/Welcome.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Ajouter une nouvelle version
<a name="ml-add-version"></a>

Vous pouvez utiliser l'API du catalogue ou le portail AWS Marketplace de gestion pour ajouter une nouvelle version à un produit de machine learning. Pour plus d'informations sur l'utilisation du portail, consultez la section [Ajouter une nouvelle version](https://docs.aws.amazon.com/marketplace/latest/userguide/machine-learning-products.html) dans le *guide du vendeur d'AWS Marketplace*. 

**Note**  
Pour les produits ML, une version consiste en une seule option de livraison, qui représente le produit que vous mettez à disposition. Dans l'API du catalogue, l'utilisation des options de livraison pour les produits ML modifie efficacement les versions de votre produit.   
Lorsque vous ajoutez de nouveaux types d'instances, incluez un type de `UpdatePricingTerms` modification dans votre ensemble de modifications afin de définir le prix des nouveaux types d'instances. Pour les nouveaux produits, tous les types d'instances pris en charge `UpdatePricingTerms` doivent être couverts. `UpdatePricingDimensions`n'est ni obligatoire ni pris en charge pour les produits ML, car les dimensions sont automatiquement générées pour tous les types d'instances pris en charge. Pour plus d’informations, consultez [Mettre à jour les dimensions de tarification](work-with-seller-products.md#update-dimensions).

**Utilisation `StartChangeSet`pour ajouter une version**

 Pour ajouter une nouvelle version, appelez l'`StartChangeSet`opération avec le type de `AddDeliveryOptions` modification : 

1.  Pour valider votre appel d'API sans créer de version, définissez `Intent` sur`VALIDATE`. 

1.  Pour la création de version réelle, définissez `Intent` sur`APPLY`. 

## Syntaxe de demande
<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"
}
```

## Champs obligatoires
<a name="add-version-required-fields"></a>
+  `Entity`(objet) —obligatoire 

  Contient des informations sur votre produit ML.
  +  `Identifier`(chaîne) : obligatoire 

    L'identifiant de votre produit. Pour plus d'informations, consultez la section [Identifiant](https://docs.aws.amazon.com/marketplace/latest/APIReference/catalog-apis.html#identifier).
  +  `Type`(chaîne) : obligatoire 

    Spécifie le mode de livraison (type de produit). Ça doit l'être`MachineLearningProduct@1.0`.
+ `DetailsDocument`(objet) —obligatoire

  Contient tous les détails concernant la nouvelle version de votre produit.
  + `Version`(objet) —obligatoire

    Informations sur la version ajoutée.
    + `VersionTitle`(chaîne) : obligatoire

      Le titre de la version, tel que « Version 1.1 » ou « 1.1 ». Les acheteurs sélectionnent les versions de ces titres.
    + `ReleaseNotes`(chaîne) : obligatoire

      Remarques détaillées sur cette version. Doit contenir moins de 30 000 caractères.
  + `DeliveryOptions`(tableau) : obligatoire

    Gamme de méthodes de livraison pour la version de votre produit. Limité à une option de livraison par version.
    + `Details`(objet) —obligatoire
      + `SagemakerModelPackageDeliveryOptionDetails`ou `SageMakerAlgorithmDeliveryOptionDetails` (objet)
        + `SageMakerModelPackageArn`ou `SageMakerAlgorithmArn` (chaîne) : obligatoire

          Amazon Resource Name (ARN) de votre modèle, de votre package ou de votre algorithme.
        + `AccessRoleArn`(chaîne) : obligatoire 

          ARN du rôle IAM pour AWS Marketplace permettant d'accéder à la SageMaker ressource.
        + `SampleNotebookUrl`(chaîne) : obligatoire 

          Lien vers un exemple de bloc-notes Jupyter avec le code d'utilisation. Pour plus d'informations, consultez un [exemple de modèle de bloc-notes](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) sur GitHub.
        + `RepositoryUrl`(chaîne) : obligatoire 

          URL du référentiel Git pour l'accès au bloc-notes et aux exemples de données. Pour plus d'informations, consultez un [exemple de dépôt Git](https://github.com/aws/amazon-sagemaker-examples/tree/master/aws_marketplace/curating_aws_marketplace_listing_and_sample_notebook/ModelPackage/Sample_Notebook_Template) sur GitHub. 
        + `UsageInstructions`(chaîne) : obligatoire 

          Informations de formation pour les algorithmes ou détails d'utilisation pour les modèles.
        + `InputProperties`(objet) —obligatoire
          + `Description`(chaîne) : obligatoire 

            Description des model/algorithm entrées
          + `Limitations` (chaîne) 

            Limites d'entrée
          + `SampleInput`(objet) —obligatoire

            RealtimeInferenceUrl (chaîne) \| RealtimeInferenceText (chaîne) \| BatchTransformUrl (chaîne) \| BatchTransformText (chaîne)
          + `Parameters`(Réseau<Object>)

            Nom (chaîne) —obligatoire \| Description (chaîne) —Obligatoire \| Contraintes (chaîne) \| Obligatoire (booléen)
          + `SageMakerCustomAttributes`(Réseau<Object>)

            Décrit toutes les [CustomAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html#API_runtime_InvokeEndpoint_RequestParameters)options prises en charge par votre modèle.

            `Name`(chaîne) —obligatoire \| `Description` (chaîne) —Obligatoire \| `Constraints` (chaîne) \| `Required` (booléen)
        + `OutputProperties`(objet) —obligatoire
          + `Description`(chaîne) : obligatoire
          + `SampleOutput`(Array<Object>) : obligatoire

            RealtimeInferenceUrl (chaîne) \| RealtimeInferenceText (chaîne) \| BatchTransformUrl (chaîne) \| BatchTransformText (chaîne)
          + `Parameters`(Réseau)

            Nom (chaîne) —obligatoire \| Description (chaîne) —obligatoire \| AlwaysReturned (booléen)
        + `RecommendedInstanceTypes`(objet) —obligatoire
          + `BatchTransform`(chaîne) —Obligatoire
          + `RealtimeInference`(chaîne) —Obligatoire
          + `Training`(string) : obligatoire pour les SageMaker algorithmes uniquement

## Syntaxe de réponse
<a name="response-syntax"></a>

Lorsque vous soumettez la demande, un ensemble de modifications est créé et l'API renvoie :

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

**Traitement des ensembles de modifications**  
La demande de modification entre dans une file de traitement, où elle passe par plusieurs étapes :

1. Validation : le système vérifie que toutes les informations sont conformes aux AWS Marketplace directives.
   +  Temps de traitement : quelques minutes à plusieurs heures 
   +  Pour les erreurs de validation, voir [Modifier le statut et les erreurs du set](https://docs.aws.amazon.com/marketplace/latest/APIReference/work-with-seller-products.html#seller-product-change-set-errors). 

1.  Surveillance de l'état : vous pouvez vérifier l'état de la demande de deux manières. 
   + Via le portail de gestion AWS Marketplace
   + Utilisation de l’opération `DescribeChangeSet`

1.  Achèvement : une fois approuvée, la nouvelle version est ajoutée. 

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

**Erreurs asynchrones**  
 Les erreurs suivantes sont spécifiques aux `AddDeliveryOptions` actions de l'API AWS Marketplace Catalog. Ces erreurs apparaissent lorsque vous appelez `DescribeChangeSet` alors qu'un ensemble de modifications est en cours de traitement. Pour plus d'informations sur l'utilisation `DescribeChangeSet` pour vérifier le statut d'une demande de modification, consultez la section [Utilisation d'ensembles de modifications](https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets). 




| Code d’erreur | Message d’erreur | 
| --- | --- | 
| ÉTAT\_DU PRODUIT INCOMPATIBLE | Nous n'avons pas pu localiser le produit fourni. Fournissez un produit valide. | 
| TITRE\_DE\_VERSION DUPLIQUÉ | Le titre de version fourni est déjà utilisé. Créez un titre de version unique. | 
| TYPE\_D'INSTANCE\_RECOMMANDÉ NON VALIDE | Vous n'avez pas fourni de type d'instance valide pour [x]. Entrez un type d'instance valide et réessayez. Les types valides sont les suivants : [valids] | 
| OPTIONS DE LIVRAISON INCOMPATIBLES | L'option de livraison que vous avez indiquée ne correspond pas à votre sélection précédente : [sélection précédente]. Mettez à jour votre option de livraison et réessayez. | 
| AR\_ACTIF NON VALIDE | Vous n'avez pas fourni d'ARN valide pour SageMakerAlgorithmDeliveryOption. Entrez un ARN valide et réessayez. | 
| ACTIF\_DUPLIQUÉ | Vous n'avez pas fourni d'ARN unique pour ce produit. Entrez un ARN unique et réessayez. | 
| ACTIF NON TROUVÉ | Nous n'avons pas pu trouver l'ARN que vous avez fourni. Vérifiez que l'ARN est correct et qu'il dispose des autorisations requises. | 
| EXCEPTION DE VALIDATION D'ACTIFS | Impossible d'ingérer SagemakerModelArn/SagemakerAlgorithmArn [x] dans le compte AWS Sagemaker | 
| RÔLE\_D'ACCÈS NON VALIDE | Nous n'avons pas pu trouver l'ARN du rôle IAM que vous avez fourni. Vérifiez que l'ARN est correct et réessayez. | 
| MISE À JOUR DES PRIX\_REQUISE | UpdatePricingTerms est obligatoire. | 