

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.

# Publier un produit dans un AWS Data Exchange contenant APIs
<a name="publish-API-product"></a>

Les rubriques suivantes décrivent le processus de création d'un ensemble de données d'API REST et de publication d'un nouveau produit contenant APIs un AWS Data Exchange. Vous pouvez terminer le processus à l'aide de la AWS Data Exchange console ou du AWS Command Line Interface.

Après avoir configuré votre API REST Amazon API Gateway, vous pouvez créer un nouvel ensemble de données d'API dans AWS Data Exchange. Vous pouvez ensuite créer une révision et ajouter des actifs d'API.

La création et la publication d'une ressource d'API permettent aux demandes des abonnés adressées à un AWS Data Exchange point de terminaison d'être transmises par proxy à votre API API Gateway. Vous pouvez ensuite ajouter cet ensemble de données à un produit et ajouter des prix. Les abonnés peuvent ensuite consulter votre produit et s'y abonner dans le AWS Marketplace catalogue et le AWS Data Exchange catalogue.

AWS Data Exchange des fonctionnalités sont disponibles, notamment les règles d'accès aux révisions, les produits privés, les offres privées et la vérification des abonnements.

Vous pouvez choisir uniquement une tarification basée sur un contrat, une tarification au coût mesuré (où le prix contractuel est de 0\$1) ou une combinaison de tarification mesurée et contractuelle. 

Vous pouvez choisir des coûts mesurés standard ou spécifier un coût mesuré personnalisé. Il existe trois types de coûts mesurés standard disponibles :
+ Par demande d'API
+ Par demande d'API réussie
+ Par unité de données transférée en octets

**Note**  
Les coûts mesurés s'appliquent à tous les ensembles de données d'API d'un produit. Par conséquent, si vous souhaitez facturer des prix différents pour la même dimension pour différents ensembles de données d'API, nous vous recommandons de créer ces ensembles de données dans différents produits.

Le processus comporte les étapes suivantes :

**Topics**
+ [Conditions préalables](#publish-api-prereq)
+ [Étape 1 : mise à jour de la politique de ressources de l'API](#update-API-resource-policy)
+ [Étape 2 : Création d'un ensemble de données d'API](#create-api-data-set)
+ [Étape 3 : Création d'une révision](#create-api-revision)
+ [Étape 4 : Ajouter des actifs d'API à une révision](#add-api-asset)
+ [Étape 5 : Publier un nouveau produit contenant APIs](#publish-api-data-product)
+ [Étape 6 : (Facultatif) Copier un produit](#copy-api-product)

## Conditions préalables
<a name="publish-api-prereq"></a>

Avant de pouvoir publier un produit contenant APIs, vous devez remplir les conditions préalables suivantes :
+ Avant de pouvoir en utiliser un Service AWS, y compris AWS Data Exchange, vous devez vous inscrire AWS et créer un utilisateur administratif. Pour plus d'informations, consultez [Démarrer](https://docs.aws.amazon.com//singlesignon/latest/userguide/getting-started.html) dans le *Guide de l'utilisateur AWS IAM Identity Center *.
+ Pour créer des produits sur AWS Data Exchange, vous devez vous enregistrer Compte AWS en tant que AWS Marketplace vendeur. Utilisez ce compte pour créer vos ensembles de données. Il n'est pas nécessaire que le compte associé à la ressource API Gateway se trouve dans le même compte que celui qui crée les ensembles de données.
+ Votre API REST doit se trouver sur Amazon API Gateway avec une intégration qui utilise un modèle de demande et de réponse approprié pour accéder à vos données, tel qu'Amazon AWS Lambda DynamoDB ou. Pour plus d'informations, consultez les [sections Développement d'une API REST dans API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-develop.html) et [Utilisation de REST APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-rest-api.html) dans le manuel *Amazon API Gateway Developer Guide*.
**Note**  
Seule l'API Gateway publique APIs est prise en charge.
+ Votre API REST API Gateway doit être capable d'authentifier et d'autoriser les appels provenant du principal du AWS Data Exchange service. Chaque demande envoyée AWS Data Exchange à votre API utilise le protocole Signature Version 4 (SigV4) signé avec des AWS Data Exchange informations d'identification. AWS Data Exchange fonctionne avec des domaines personnalisés et des mappages de clés de domaine.
**Note**  
AWS Data Exchange ne prend pas en charge Amazon Cognito, No-Auth et les autorisateurs. AWS Lambda 
+ Si votre API REST API Gateway utilise un système d'identité personnalisé pour l'authentification et l'autorisation, configurez-le pour utiliser l'authentification IAM et importez un schéma OpenAPI décrivant votre API. AWS Data Exchange invoquera votre API REST API Gateway avec ses propres informations d'identification de service et inclura des informations d'abonné telles que l'identifiant du compte.
+ Votre API REST API Gateway est chargée de l'intégration à votre backend. Pour ce faire, optez pour l'une des solutions suivantes : 
  + Attachez un jeton d'authentification de longue durée à chaque demande qui passe par votre API REST API Gateway, que le backend peut vérifier.
  + Utilisez API Gateway pour appeler une fonction Lambda capable de générer des informations d'identification et d'appeler votre API.

Votre API est invoquée conformément à la [spécification de la demande d'intégration d'API](#api-request-spec).

Pour plus d’informations, consultez les rubriques suivantes :

**Topics**
+ [Sécurité des ensembles de données API](#api-data-set-security)
+ [Spécification de la demande d'intégration d'API](#api-request-spec)
+ [Transfert d'en-tête](#header-forwarding)

### Sécurité des ensembles de données API
<a name="api-data-set-security"></a>

AWS Data Exchange chiffre le trafic de bout en bout à l'aide du protocole TLS (Transport Layer Security) 1.2. Toutes les métadonnées sont cryptées au repos. AWS Data Exchange ne stockera pas les demandes des abonnés ni les réponses de votre backend. Nous extrayons uniquement les métadonnées de mesure nécessaires à la facturation.

### Spécification de la demande d'intégration d'API
<a name="api-request-spec"></a>

Une API AWS Data Exchange passe en revue tous les en-têtes (à l'exception des en-têtes répertoriés dans[Transfert d'en-tête](#header-forwarding)), le corps, la méthode http, le chemin et les chaînes de requête tels quels à partir de la demande du client et ajoute les en-têtes suivants.

```
// These headers help prevent Confused Deputy attacks.  They enable the SourceAccount
// and SourceArn variables in IAM policies.
'x-amz-source-account': ACCOUNT_ID,
'x-amz-source-arn': `arn:aws:dataexchange:${REGION}:${OWNER_ACCOUNT_ID}:data-sets/${DATA_SET_ID}/revisions/${REVISION_ID}/assets/${ASSET_ID}`,
  
// These headers identify the API Asset in Data Exchange.  
'x-amzn-dataexchange-asset-id': ASSET_ID,
'x-amzn-dataexchange-data-set-id': DATA_SET_ID,
'x-amzn-dataexchange-revision-id': REVISION_ID,

// This header identifies the Data Exchange Product.
'x-amzn-dataexchange-product-id': PRODUCT_ID,
  
// This header identifies the caller of Data Exchange.  It will contain subscriber
// information.
'x-amzn-dataexchange-requester-account-id': REQUESTER_ACCOUNT_ID,

// Providers can attach custom metadata in the form of key/value pairs
// to a particular subscription. We will send these key/value pairs as stringified
// JSON.
'x-amz-dataexchange-subscription-metadata': STRINGIFIED_METADATA,
```

### Transfert d'en-tête
<a name="header-forwarding"></a>

AWS Data Exchange supprime tous les en-têtes liés à l'authentification ou à l'espace de noms attribués à Amazon avant de les transmettre au backend d'un fournisseur. Plus précisément, AWS Data Exchange supprime :
+ En-tête `Authentication`
+ Tous les en-têtes commençant par `x-amz`

L'`host`en-tête sera remplacé à la suite de la transmission par proxy.

## Étape 1 : mise à jour de la politique de ressources de l'API
<a name="update-API-resource-policy"></a>

Si vous disposez d'une API REST Amazon API Gateway qui répond aux [prérequis](#publish-api-prereq), vous devez mettre à jour votre politique de ressources d'API pour autoriser AWS Data Exchange l'appel de votre API lorsqu'un abonné demande à obtenir le schéma de votre API.

**Pour mettre à jour votre politique en matière de ressources d'API**

1. Ajoutez la politique suivante à la politique de ressources de votre API :

   ```
   {
   "Effect": "Allow",
   "Principal": {"Service": "dataexchange.amazonaws.com"},
   "Action": "execute-api:Invoke",
   "Resource": "*",
   "Condition": {"StringEquals": {"aws:SourceAccount": "<account-id>"}}
   }
   ```

1. `account-id`Remplacez-le par le compte qui créera l'ensemble de données de l'API. 

   Il n'est pas nécessaire que le compte associé à la ressource API Gateway se trouve dans le même compte que celui qui crée l'ensemble de données.

Cette politique limite ces autorisations aux appels effectués par le principal du AWS Data Exchange service et exige que seul votre compte puisse autoriser l'intégration AWS Data Exchange à votre API.

**Note**  
Si votre politique de ressources interdit explicitement AWS Data Exchange d'effectuer cet appel, vous devez supprimer ou limiter ce refus.

Vous êtes maintenant prêt à [créer un ensemble de données d'API](#create-api-data-set).

## Étape 2 : Création d'un ensemble de données d'API
<a name="create-api-data-set"></a>

Les ensembles de données AWS Data Exchange sont dynamiques et sont versionnés à l'aide de révisions, chaque révision contenant au moins un actif. Pour de plus amples informations, veuillez consulter [Données en AWS Data Exchange](data-sets.md).

Vous pouvez utiliser la AWS Data Exchange console ou le AWS Command Line Interface pour créer un ensemble de données d'API :
+ [Création d'un ensemble de données d'API (console)](#create-api-ds-console)
+ [Création d'un ensemble de données d'API (AWS CLI)](#create-api-ds-cli)

### Création d'un ensemble de données d'API (console)
<a name="create-api-ds-console"></a>

**Pour créer un ensemble de données d'API (console)**

1. Ouvrez votre navigateur Web et connectez-vous à la [AWS Data Exchange console](https://console.aws.amazon.com/dataexchange).

1. Dans le volet de navigation de gauche, sous **Mes données**, choisissez **Owned data sets**.

1. Dans **Ensembles de données détenus**, choisissez **Créer un ensemble de données** pour ouvrir l'assistant **des étapes de création d'ensembles** de données.

1. Dans **Sélectionner le type d'ensemble de données**, choisissez **l'API Amazon API Gateway**.

1. Dans **Définir un ensemble de données**, entrez un **nom** et une **description** pour votre ensemble de données. Pour de plus amples informations, veuillez consulter [Bonnes pratiques relatives aux ensembles de données](data-sets.md#data-set-best-practices). 

1. (Facultatif) Sous **Ajouter des balises — facultatif**, ajoutez des balises.

1. Choisissez **Créer**. 

Vous êtes maintenant prêt à créer une révision. 

### Création d'un ensemble de données d'API (AWS CLI)
<a name="create-api-ds-cli"></a>

**Pour créer un ensemble de données d'API (CLI)**

1. Utilisez la `create-data-set` commande pour créer un ensemble de données d'API : 

   ```
   $ AWS dataexchange create-data-set \
   --asset-type API_GATEWAY_API \
   --description 'Data Set Description' \
   --name 'Data Set Name'
   
   {
   "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/$DATA_SET_ID",
   "AssetType": "API_GATEWAY_API",
   "CreatedAt": "2021-09-11T00:16:46.349000+00:00",
   "Description": "Data Set Description",
   "Id": "$DATA_SET_ID",
   "Name": "Data Set Name",
   "Origin": "OWNED",
   "UpdatedAt": "2021-09-11T00:16:46.349000+00:00"
   }
   ```

1. Notez le nouveau type d'actif de`API_GATEWAY_API`.

Vous êtes maintenant prêt à créer une révision.

## Étape 3 : Création d'une révision
<a name="create-api-revision"></a>

Dans la procédure suivante, vous créez une révision après avoir créé un ensemble de données. Pour de plus amples informations, veuillez consulter [Révisions](data-sets.md#revisions).

Vous pouvez utiliser la AWS Data Exchange console ou le AWS Command Line Interface pour créer une révision :
+ [Création d'une révision (console)](#create-api-revision-console)
+ [Création d'une révision (AWS CLI)](#create-api-revision-cli)

### Création d'une révision (console)
<a name="create-api-revision-console"></a>

**Pour créer une révision (console)**

1. Dans la section **Aperçu de l'ensemble** de données de la page de détails du jeu de données :

   1. (Facultatif) Choisissez **Modifier le nom** pour modifier les informations relatives à votre ensemble de données.

   1. (Facultatif) Choisissez **Supprimer** pour supprimer l'ensemble de données.

1. Dans la section **Révisions**, choisissez **Créer une révision**.

1. Sous **Définir la révision**, fournissez un commentaire facultatif pour votre révision qui décrit l'objectif de la révision. 

1. (Facultatif) Sous **Ajouter des balises — facultatif**, ajoutez des balises associées à la ressource.

1. Choisissez **Créer une révision**.

1. Vérifiez, modifiez ou supprimez les modifications apportées à l'étape précédente. 

Vous êtes maintenant prêt à [ajouter des actifs d'API à la révision](#add-api-asset).

### Création d'une révision (AWS CLI)
<a name="create-api-revision-cli"></a>

**Pour créer une révision (AWS CLI)**

1. Utilisez la `create-revision` commande pour créer une révision :

   ```
   $ AWS dataexchange create-revision \
   --data-set-id $DATA_SET_ID \
   --comment 'First Atlas Revision'
   {
   "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/$DATA_SET_ID/revisions/$REVISION_ID",
   "Comment": "First Atlas Revision",
   "CreatedAt": "2021-09-11T00:18:49.160000+00:00",
   "DataSetId": "$DATA_SET_ID",
   "Finalized": false,
   "Id": "$REVISION_ID",
   "UpdatedAt": "2021-09-11T00:18:49.160000+00:00"
   }
   ```

1. [Ajoutez les actifs de l'API à la révision](#add-api-asset).
**Note**  
Vous devez connaître l'ID de l'API REST API Gateway que vous souhaitez importer ainsi que le stage.

## Étape 4 : Ajouter des actifs d'API à une révision
<a name="add-api-asset"></a>

Les actifs d'API contiennent les informations dont les abonnés ont besoin pour appeler votre API. Pour de plus amples informations, veuillez consulter [Assets](data-sets.md#assets). 

Dans la procédure suivante, vous importez des actifs de données, puis vous finalisez la révision. 

Vous pouvez utiliser la AWS Data Exchange console ou le AWS CLI pour ajouter des actifs à une révision :
+ [Ajouter des actifs d'API à une révision (console)](#add-api-assets)
+ [Ajouter des actifs d'API à une révision (AWS CLI)](#add-api-assets-cli)

### Ajouter des actifs d'API à une révision (console)
<a name="add-api-assets"></a>

**Pour ajouter des actifs à la révision (console)**

1. Dans la section **Ressources d'API** de la page de détails de l'ensemble de données, choisissez **Ajouter une étape d'API**.

1. Sous **Select API stage**, pour **l'API Amazon API Gateway**, entrez une API dans la zone de saisie ou choisissez l'une des options suivantes dans la liste déroulante :
   + **API dans une autre Compte AWS** : il s'agit d'une API multi-comptes à laquelle vous avez été autorisé à accéder.
   + **Dans ce cas Compte AWS**, il s'agit d'une API dans votre Compte AWS.

   1. Si vous avez choisi **API dans un autre Compte AWS**, entrez l'ID d'API et le **nom de l'étape** d'API dans les zones de saisie.

   1. Si vous avez choisi **In this Compte AWS**, choisissez le **nom de l'étape** API dans la liste déroulante
**Note**  
Vous pouvez créer une nouvelle étape d'API en choisissant **Create new** et en suivant les étapes du modal **Create new API on Amazon API Gateway**. Une fois la nouvelle étape créée, répétez l'étape 2.

1. Sous **Configuration avancée (facultatif)**, vous pouvez choisir de **connecter le plan d'utilisation Amazon API Gateway existant** afin d'utiliser les limites de limitation et de quota définies dans le plan d'utilisation existant, puis de saisir la clé d'**API**.

1. Sous **API de documents pour les abonnés**, fournissez des informations sur l'API que les abonnés verront une fois qu'ils se seront abonnés à votre produit.

   1. Pour le **nom de l'API**, entrez un nom que les abonnés peuvent utiliser pour identifier la ressource API.
**Note**  
Si un **In this Compte AWS** a été sélectionné, le **nom de l'API** est automatiquement renseigné et vous pouvez le modifier si nécessaire.  
Si une **API Compte AWS a été sélectionnée dans une autre** **API, le nom** de l'API est renseigné avec un nom par défaut, que vous devez modifier pour que l'abonné puisse facilement comprendre de quoi il s'agit.

   1. Pour la **spécification OpenAPI 3.0, soit :** 

      1. Entrez ou copiez-collez le fichier de spécification OpenAPI 3.0.

      1. Choisissez **Importer depuis un fichier .JSON**, puis sélectionnez le fichier .json à importer sur votre ordinateur local.

         La spécification importée apparaît dans la boîte.

      1. Choisissez **Importer depuis Amazon API Gateway**, puis choisissez une spécification à importer.

         La spécification importée apparaît dans la boîte.

   1. Pour **la documentation supplémentaire (facultatif)**, entrez toute information supplémentaire utile à l'abonné pour qu'il connaisse votre API. Markdown est pris en charge.
**Note**  
Vous ne pouvez pas modifier la spécification OpenAPI ni la documentation supplémentaire après avoir ajouté cet actif à une révision.   
Si vous souhaitez mettre à jour ces informations et que la révision n'est pas finalisée, vous pouvez remplacer la ressource.   
Si vous souhaitez mettre à jour ces informations et que la révision est finalisée, vous pouvez créer une nouvelle révision avec la ressource mise à jour.

1. Choisissez **Ajouter une étape d'API**.

   Une tâche est lancée pour importer votre actif (dans ce cas, l'API) dans votre ensemble de données.
**Note**  
Si vous n'avez pas d'API sur Amazon API Gateway, vous serez invité à en créer une. 

1. Une fois le travail terminé, le champ **État** de la section **Tâches** passe à **Terminé.**

1. Si vous avez d'autres éléments APIs à ajouter, répétez l'étape 2.

1. Sous **Vue d'ensemble des révisions**, passez en revue votre révision et ses ressources. 

1. Choisissez **Finaliser**.

Vous avez finalisé avec succès la révision d'un ensemble de données. 

Vous pouvez [modifier](#edit-api-revision) ou [supprimer une révision](#delete-api-revision) avant de l'ajouter à un produit. 

Vous êtes maintenant prêt à [publier un nouveau produit de données API](#publish-api-data-product).

### Ajouter des actifs d'API à une révision (AWS CLI)
<a name="add-api-assets-cli"></a>

Vous pouvez ajouter des actifs d'API en exécutant une `IMPORT_ASSET_FROM_API_GATEWAY_API` tâche.

**Pour ajouter des actifs d'API à une révision (AWS CLI) :**

1. Utilisez la `create-job` commande pour ajouter des actifs d'API à la révision :

   ```
   $ AWS dataexchange create-job \
     --type IMPORT_ASSET_FROM_API_GATEWAY_API \
     --details '{"ImportAssetFromApiGatewayApi":{"DataSetId":"$DATA_SET_ID","RevisionId":"$REVISION_ID","ApiId":"$API_ID","Stage":"$API_STAGE","ProtocolType":"REST"}}'
   {
       "Arn": "arn:aws:dataexchange:us-east-1:123456789012:jobs/$JOB_ID",
       "CreatedAt": "2021-09-11T00:38:19.875000+00:00",
       "Details": {
           "ImportAssetFromApiGatewayApi": {
               "ApiId": "$API_ID",
               "DataSetId": "$DATA_SET_ID",
               "ProtocolType": "REST",
               "RevisionId": "$REVISION_ID",
               "Stage": "$API_STAGE"
           }
       },
       "Id": "$JOB_ID",
       "State": "WAITING",
       "Type": "IMPORT_ASSET_FROM_API_GATEWAY_API",
       "UpdatedAt": "2021-09-11T00:38:19.875000+00:00"
   }
   
   $ AWS dataexchange start-job --job-id $JOB_ID
   $ AWS dataexchange get-job --job-id $JOB_ID
   {
       "Arn": "arn:aws:dataexchange:us-east-1:0123456789012:jobs/$JOB_ID",
       "CreatedAt": "2021-09-11T00:38:19.875000+00:00",
       "Details": {
           "ImportAssetFromApiGatewayApi": {
               "ApiId": "$API_ID",
               "DataSetId": "$DATA_SET_ID",
               "ProtocolType": "REST",
               "RevisionId": "$REVISION_ID",
               "Stage": "$API_STAGE"
               "ApiEndpoint": "string",
               "ApiKey": "string",
               "ApiName": "string",            
               "ApiDescription": "string",
               "ApiSpecificationDownloadUrl": "string",
               "ApiSpecificationDownloadUrlExpiresAt": "string"
           }
       },
       "Id": "$JOB_ID",
       "State": "COMPLETED",
       "Type": "IMPORT_ASSET_FROM_API_GATEWAY_API",
       "UpdatedAt": "2021-09-11T00:38:52.538000+00:00"
   }
   ```

1. Utilisez la `list-revision-assets` commande pour vérifier que le nouvel actif a été créé correctement : 

   ```
   $ AWS dataexchange list-revision-assets \
     --data-set-id $DATA_SET_ID \
     --revision-id $REVISION_ID
   {
       "Assets": [
       {
           "Arn": "arn:aws:dataexchange:us-east-1:123456789012:data-sets/$DATA_SET_ID/revisions/$REVISION_ID/assets/$ASSET_ID",
           "AssetDetails": {
               "ApiGatewayApiAsset": {
                   "ApiEndpoint": "https://$API_ID.execute-api.us-east-1.amazonaws.com/$API_STAGE",
                   "ApiId": "$API_ID",
                   "ProtocolType": "REST",
                   "Stage": "$API_STAGE"
               }
           },
           "AssetType": "API_GATEWAY_API",
           "CreatedAt": "2021-09-11T00:38:52.457000+00:00",
           "DataSetId": "$DATA_SET_ID",
           "Id": "$ASSET_ID",
           "Name": "$ASSET_ID/$API_STAGE",
           "RevisionId": "$REVISION_ID",
           "UpdatedAt": "2021-09-11T00:38:52.457000+00:00"
       }
       ]
   }
   ```

Vous êtes maintenant prêt à [publier le produit de données API](#publish-api-data-product). 

### Modifier une révision
<a name="edit-api-revision"></a>

**Pour modifier la révision une fois que vous l'avez finalisée**

1. Dans l'**aperçu des révisions**, choisissez **Définaliser**.

   Un message s'affiche indiquant que la révision n'est plus finalisée.

1. Pour modifier la révision, dans **Aperçu des révisions**, sélectionnez **Actions**, **Modifier**.

1. Apportez vos modifications, puis choisissez **Mettre à jour**.

1. Passez en revue vos modifications, puis choisissez **Finaliser**.

### Supprimer une révision
<a name="delete-api-revision"></a>

**Pour supprimer la révision une fois que vous l'avez finalisée**

1. Dans l'**aperçu des révisions**, choisissez **Supprimer**.

1. Tapez **Delete** dans la boîte de dialogue **Supprimer la révision**, puis choisissez **Supprimer**.

**Avertissement**  
Cela supprime la révision et tous ses actifs. Cette action ne peut pas être annulée.

## Étape 5 : Publier un nouveau produit contenant APIs
<a name="publish-api-data-product"></a>

Après avoir créé au moins un ensemble de données et finalisé une révision avec des ressources, vous êtes prêt à publier cet ensemble de données dans le cadre d'un produit. Pour de plus amples informations, veuillez consulter [Bonnes pratiques en matière de produits dans AWS Data Exchange](product-details.md). Assurez-vous de disposer de tous les détails requis concernant votre produit et votre offre.

Vous utilisez la AWS Data Exchange console ou l'API du AWS Marketplace catalogue pour publier un nouveau produit contenant APIs. Pour plus d'informations sur la façon de publier un nouveau produit à l'aide de l'API AWS Marketplace Catalog, consultez[Utilisation AWS Data Exchange avec l'API AWS Marketplace Catalog](appendices.md).
+ [Publication d'un nouveau produit contenant APIs (console)](#publish-api-product-console)

### Publication d'un nouveau produit contenant APIs (console)
<a name="publish-api-product-console"></a>

**Pour publier un nouveau produit contenant APIs**

1. Dans le volet de navigation gauche de la [AWS Data Exchange console](https://console.aws.amazon.com/dataexchange), sous **Publier les données**, sélectionnez **Produits**.

1. Dans **Produits**, choisissez **Publier un nouveau produit** pour ouvrir l'assistant de **publication d'un nouveau produit**.

1. Dans **Visibilité du produit** : 

   1. Choisissez les **options de visibilité des produits** de votre produit comme étant **publiques** ou **privées**.

      Tous les AWS Data Exchange produits dont la visibilité est définie sur **Public** nécessitent une offre publique.

      Pour de plus amples informations, veuillez consulter [Visibilité du produit dans AWS Data Exchange](product-visibility.md).

   1. Choisissez la configuration des **informations sensibles** de votre produit.

      Pour de plus amples informations, veuillez consulter [Catégories d'informations sensibles dans AWS Data Exchange](sensitive-information.md).

   1. Choisissez **Suivant**.

1. Dans **Ajouter des données** :

   1. Sous **Ensembles de données détenus**, cochez les cases à côté des ensembles de données que vous souhaitez ajouter, puis choisissez **Ajouter la sélection**.
**Note**  
Les ensembles de données que vous choisissez doivent avoir une révision finalisée. Les ensembles de données sans révisions finalisées ne sont pas ajoutés.

   1. Accédez à la section **Ensembles de données sélectionnés** pour passer en revue vos sélections. 

      Vous pouvez consulter le **nom** de l'ensemble de données, le **type** de jeu de données et l'horodatage de la **dernière** mise à jour de l'ensemble de données.

   1. Accédez à **Sélectionner les règles d'accès aux révisions**, puis choisissez les règles d'accès aux révisions que vous souhaitez définir pour les ensembles de données inclus dans ce produit. 

      Pour de plus amples informations, veuillez consulter [Règles d'accès aux révisions dans AWS Data Exchange](best-practices-revisions.md).

   1. Choisissez **Suivant**.

1. Dans **Définir le produit** : 

   1. Sous **Aperçu du produit**, entrez les informations relatives à votre produit, notamment le **nom du produit**, le **logo du produit**, les **coordonnées du Support** et les **catégories de produits**. 

      Pour de plus amples informations, veuillez consulter [Bonnes pratiques en matière de produits dans AWS Data Exchange](product-details.md).

   1. (Facultatif) Sous **Dictionnaires de données et exemples — facultatif**, choisissez un ensemble de données en sélectionnant le bouton d'option à côté du nom du jeu de données, puis en choisissant **Modifier**.

      1. Dans la boîte de dialogue **Modifier**, choisissez **Upload** pour télécharger un nouveau dictionnaire de données. 

         Vous pouvez choisir un dictionnaire de données, au format .csv, d'une taille maximale de 1 Mo.

      1. Choisissez un dictionnaire de données enregistré sur votre ordinateur, puis sélectionnez **Ouvrir**.

         Le fichier .csv du dictionnaire de données apparaît dans la boîte de dialogue **Modifier**.
**Note**  
Votre dictionnaire de données doit être conforme au modèle de dictionnaire de AWS Data Exchange données. Si vous n'avez pas de dictionnaire de données enregistré à télécharger, vous pouvez choisir le lien du **modèle de dictionnaire de données vide** ou le lien du **dictionnaire de données d'exemple** dans la AWS Data Exchange console.

      1. Choisissez **Aperçu du dictionnaire de données** pour prévisualiser le dictionnaire de données.

      1. Sous **Échantillons - facultatif**, choisissez **Télécharger des échantillons**, choisissez un échantillon sur votre ordinateur, puis choisissez **Ouvrir**. 

          Les exemples apparaissent dans la boîte de dialogue **Modifier**.
**Note**  
Vous pouvez télécharger jusqu'à 10 échantillons d'une taille maximale de 50 Mo. Les échantillons au format .csv peuvent être prévisualisés.

      1. Entrez une description pour chaque échantillon qui sera visible sur la page détaillée du produit.

      1. Choisissez **Enregistrer**.

1. Sous **Définition du produit**, entrez une **brève description** et une **description longue** de votre produit.

   Si vous souhaitez utiliser un modèle pour votre longue description, sélectionnez **Appliquer le modèle**, choisissez votre type de modèle, puis complétez le modèle avec les détails spécifiques de votre produit.

1. Choisissez **Suivant**.

1. Configurez votre offre dans **Ajouter une offre publique** (pour une offre publique) ou **Ajouter une offre personnalisée** (pour les offres privées) :

   Tous les AWS Data Exchange produits dont la visibilité est définie sur **Public** nécessitent une offre publique. 

   1. Pour les offres privées uniquement :

      1. Choisissez l'un des **types d'offres** répertoriés : **offre privée, offre** **privée renouvelée** ou **abonnement Bring Your Own (BYOS)**.

      1. Dans la section **Informations sur le compte d'abonné**, ajoutez au moins un compte d'abonné auquel vous souhaitez étendre l'offre. 

   1. Choisissez vos options de **tarification et de durée d'accès** pour l'abonnement.

   1. Pour les **coûts mesurés (facultatif)**, choisissez **Ajouter**.

      1. Pour **Ajouter un coût mesuré**, sélectionnez le type de coût pour l'appel d'API dans la liste **Type :**
         + **Par demande d'API**
         + **Par demande d'API réussie**
         + **Par unité de données transférée en octets**
         + **Nouveau coût mesuré personnalisé**

      1. Entrez ou mettez à jour le **nom d'affichage des coûts**, qui est visible sur la facture de l'abonné.

      1. Si vous utilisez un **coût mesuré prédéfini**, la **clé** est générée automatiquement, ne peut pas être modifiée et n'a pas besoin d'être renvoyée dans l'en-tête de réponse.

      1. Si vous créez un **nouveau coût mesuré personnalisé**, entrez la **clé**, qui est l'identifiant du coût mesuré dans l'en-tête de réponse de l'API (15 caractères maximum). 

         Cette **clé** doit être renvoyée dans le cadre de l'en-tête de `x-amz-dataexchange-metering` réponse.  
**Example Clé personnalisée**  

         Si une clé personnalisée est appelée **VertexCount** et qu'une autre clé personnalisée est appelée**EdgeCount**, l'en-tête de réponse « x-amz-dataexchange-metering » peut avoir une valeur égale à `VertexCount=3,EdgeCount=10` ou vous pouvez renvoyer deux lignes d'en-tête distinctes :

         `x-amz-dataexchange-metering: VertextCount=3`

         `x-amz-dataexchange-metering: EdgeCount=10`

      1. Entrez le prix unitaire facturé à l'abonné dans le champ **Prix/unité**.

      1. (Facultatif) Entrez le nombre d'unités pour afficher un exemple du coût dans le **calculateur de coûts mesurés**.

      1. (Facultatif) Entrez une brève **description** du coût mesuré qui apparaît sur la page détaillée du produit.

      1. Choisissez **Ajouter**.

      1. (Facultatif) Répétez l'opération pour ajouter des coûts mesurés supplémentaires. 

         L'ordre des coûts mesurés apparaît sur la page détaillée du produit. Vous ne pouvez pas les commander à nouveau.
**Note**  
Une fois l'offre créée, vous pouvez modifier le prix et la description d'un coût mesuré. Pour de plus amples informations, veuillez consulter [Mettre à jour les détails des produits et des offres dans AWS Data Exchange](update-product-details.md).

   1. Pour les offres privées uniquement, choisissez la **date d'expiration de l'offre** à laquelle l'abonné doit accepter l'offre.

   1. Choisissez vos **paramètres fiscaux**, votre **contrat d'abonnement aux données (DSA)** et votre **politique de remboursement**.

   1. (Facultatif) Pour les offres publiques uniquement, configurez la **vérification de l'abonnement**, qui vous permet de contrôler qui peut s'abonner à ce produit. Pour de plus amples informations, veuillez consulter [Vérification de l'abonnement pour les fournisseurs de AWS Data Exchange](subscription-verification-pro.md).

   1. Choisissez l'option de **renouvellement automatique de votre offre**. Pour de plus amples informations, veuillez consulter [Création d'une offre pour les AWS Data Exchange produits](prepare-offers.md).

   1. Choisissez **Suivant**.

1. Dans la section **Réviser et publier**, passez en revue les informations relatives à votre produit. 

   1. Développez l'**aperçu de la page du produit** pour voir à quoi ressemblera la page du produit après sa publication.

   1. (Facultatif) Cliquez sur le bouton **Modifier** dans n'importe quelle section pour modifier cette section.

1. Si vous êtes sûr de vouloir rendre le produit et l'offre publique visibles et accessibles à tous, choisissez **Publier**.

Vous avez maintenant terminé la partie manuelle de publication d'un produit de données dans le cadre d'une offre publique. AWS Data Exchange prépare et publie votre produit. 

Sur la page de **présentation du produit**, le statut de votre produit est **En attente d'approbation**, puis passe à **Publié** après sa publication.

## Étape 6 : (Facultatif) Copier un produit
<a name="copy-api-product"></a>

Après avoir créé votre premier produit, vous pouvez copier ses informations et ses offres publiques pour créer un nouveau produit.

**Note**  
Vous pouvez copier un produit public, privé, publié ou non publié. Les offres personnalisées associées au produit ne seront pas copiées, mais les offres publiques le seront.

**Pour copier un produit**

1. Ouvrez votre navigateur Web et connectez-vous à la [AWS Data Exchange console](https://console.aws.amazon.com/dataexchange).

1. Dans le volet de navigation de gauche, sous **Publier les données**, sélectionnez **Produits**.

1. Dans **Produits**, cliquez sur le bouton situé à côté du produit que vous souhaitez copier.

1. Sélectionnez le menu déroulant **Actions**, puis choisissez **Créer une copie**.

1. Poursuivez le processus de **publication d'un nouveau produit**, avec les informations déjà renseignées, en fonction du produit que vous avez choisi à l'étape 3. Pour de plus amples informations, veuillez consulter [Étape 5 : Publier un nouveau produit](publish-data-product.md#publish-products).