

La AWS SDK pour JavaScript v2 est arrivée end-of-support. Nous vous recommandons de migrer vers la [AWS SDK pour JavaScript version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter cette [annonce](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

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.

# Configuration du SDK pour JavaScript
<a name="setting-up"></a>

Les rubriques de cette section expliquent comment installer le SDK JavaScript pour une utilisation dans les navigateurs Web et avec Node.js. Elles expliquent également comment charger le kit SDK afin que vous puissiez accéder aux services web pris en charge par ce dernier.

**Note**  
Les développeurs de React Native devraient AWS Amplify l'utiliser pour créer de nouveaux projets sur AWS. Consultez les [aws-sdk-react-native](https://github.com/amazon-archives/aws-sdk-react-native)archives pour plus de détails.

**Topics**
+ [Conditions préalables](jssdk-prerequisites.md)
+ [Installation du SDK pour JavaScript](installing-jssdk.md)
+ [Chargement du SDK pour JavaScript](loading-the-jssdk.md)
+ [Mise à niveau du SDK à JavaScript partir de la version 1](upgrading-from-v1.md)

# Conditions préalables
<a name="jssdk-prerequisites"></a>

Avant d'utiliser le AWS SDK pour JavaScript, déterminez si votre code doit être exécuté dans Node.js ou dans un navigateur Web. Ensuite, procédez comme suit : 
+ Pour Node.js, installez Node.js sur vos serveurs se cela n'est pas déjà fait.
+ Pour les navigateurs web, identifiez les versions de navigateur nécessaires à la prise en charge.

**Topics**
+ [Configuration d'un environnement AWS Node.js](setting-up-node.md)
+ [Navigateurs web pris en charge](browsers-supported.md)

# Configuration d'un environnement AWS Node.js
<a name="setting-up-node"></a>

Pour configurer un environnement AWS Node.js dans lequel vous pouvez exécuter votre application, appliquez l'une des méthodes suivantes :
+ Choisissez une Amazon Machine Image (AMI) avec Node.js préinstallé et créez une instance Amazon EC2 à l'aide de cette AMI. Lorsque vous créez votre instance Amazon EC2, choisissez votre AMI dans le. AWS Marketplace AWS Marketplace Recherchez le fichier Node.js et choisissez une option AMI qui inclut une version de Node.js (32 bits ou 64 bits) préinstallée.
+ Créez une instance Amazon EC2 et installez-y Node.js. Pour plus d'informations sur l'installation de Node.js sur une instance Amazon Linux, consultez[Tutoriel : Configuration de Node.js sur une instance Amazon EC2](setting-up-node-on-ec2-instance.md).
+ Créez un environnement sans serveur en utilisant AWS Lambda pour exécuter Node.js en tant que fonction Lambda. Pour plus d'informations sur l'utilisation de Node.js dans une fonction Lambda, voir [Modèle de programmation (Node.js)](https://docs.aws.amazon.com/lambda/latest/dg/programming-model.html) dans le Guide du *AWS Lambda développeur*.
+ Déployez votre application Node.js sur AWS Elastic Beanstalk. *Pour plus d'informations sur l'utilisation de Node.js avec Elastic Beanstalk[, consultez la section Déploiement d' AWS Elastic Beanstalk applications Node.js](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.html) dans le manuel du développeur.AWS Elastic Beanstalk * 

# Navigateurs web pris en charge
<a name="browsers-supported"></a>

Le SDK pour JavaScript prend en charge tous les navigateurs Web modernes, y compris les versions minimales suivantes :


****  

| Navigateur | Version | 
| --- | --- | 
| Google Chrome | 28.0\$1 | 
| Mozilla Firefox | 26.0\$1 | 
| Opera | 17.0\$1 | 
| Microsoft Edge | 25.10\$1 | 
| Windows Internet Explorer | N/A | 
| Apple Safari | 5\$1 | 
| Navigateur Android | 4.3\$1 | 

**Note**  
Les frameworks tels qu' AWS Amplify peuvent ne pas offrir le même support de navigateur que le SDK pour. JavaScript Pour plus d'informations, consultez la documentation d'une infrastructure.

# Installation du SDK pour JavaScript
<a name="installing-jssdk"></a>

Le mode d'installation AWS SDK pour JavaScript dépend de l'exécution du code dans les modules Node.js ou dans les scripts du navigateur.

Tous les services ne sont pas immédiatement disponibles dans le kit SDK. Pour savoir quels services sont actuellement pris en charge par le AWS SDK pour JavaScript, consultez [https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md](https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md)

------
#### [ Node ]

La méthode préférée pour installer AWS SDK pour JavaScript for Node.js consiste à utiliser [npm, le gestionnaire de packages Node.js](https://www.npmjs.com/). Pour ce faire, saisissez ce qui suit dans la ligne de commande.

```
npm install aws-sdk
```

Si le message d'erreur suivant s'affiche :

```
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
```

Saisissez les commandes ci-dessous dans la ligne de commande :

```
npm uninstall --save node-uuid
npm install --save uuid
```

------
#### [ Browser ]

Vous n'avez pas besoin d'installer le kit SDK pour l'utiliser dans les scripts de navigateur. Vous pouvez charger le package SDK hébergé directement depuis Amazon Web Services à l'aide d'un script dans vos pages HTML. Le package SDK hébergé prend en charge le sous-ensemble de AWS services qui appliquent le partage de ressources entre origines (CORS). Pour de plus amples informations, veuillez consulter [Chargement du SDK pour JavaScript](loading-the-jssdk.md).

Vous pouvez créer une version de génération personnalisée du kit SDK dans laquelle vous sélectionnez les services et les versions web spécifiques que vous souhaitez utiliser. Ensuite, vous pouvez télécharger votre package de kit SDK personnalisé pour le développement en local et l'héberger pour qu'il soit utilisé par votre application. Pour plus d'informations sur la création d'une version de génération personnalisée du kit SDK, consultez [Création du kit SDK pour les navigateurs](building-sdk-for-browsers.md).

Vous pouvez télécharger des versions distribuables minifiées et non minifiées de la version actuelle à l'adresse suivante : AWS SDK pour JavaScript GitHub 

[https://github.com/aws/aws-sdk-js/tree/master/dist](https://github.com/aws/aws-sdk-js/tree/master/dist)

------

## Installation à l'aide de Bower
<a name="w2aac13c11b9"></a>

[Bower](https://bower.io) est un gestionnaire de package pour le web. Après avoir installé Bower, vous pouvez l'utiliser pour installer le kit SDK. Pour installer le kit SDK à l'aide de Bower, saisissez ce qui suit dans une fenêtre de terminal :

```
bower install aws-sdk-js
```

# Chargement du SDK pour JavaScript
<a name="loading-the-jssdk"></a>

Le mode de chargement du SDK JavaScript varie selon que vous le chargez pour l'exécuter dans un navigateur Web ou dans Node.js.

Tous les services ne sont pas immédiatement disponibles dans le kit SDK. Pour savoir quels services sont actuellement pris en charge par le AWS SDK pour JavaScript, consultez [https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md](https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md)

------
#### [ Node.js ]

Après avoir installé le SDK, vous pouvez charger le AWS package dans l'application de votre nœud à l'aide `require` de. 

```
var AWS = require('aws-sdk');
```

------
#### [ React Native ]

Pour utiliser le kit SDK dans un projet React Native, installez tout d'abord le kit SDK avec npm :

```
npm install aws-sdk
```

Dans votre application, utilisez le code suivant pour référencer la version compatible React Native du kit SDK :

```
var AWS = require('aws-sdk/dist/aws-sdk-react-native');
```

------
#### [ Browser ]

Le moyen le plus rapide de démarrer avec le SDK est de charger le package du SDK hébergé directement depuis Amazon Web Services. Pour ce faire, ajoutez un élément `<script>` à vos pages HTML sous la forme suivante :

```
<script src="https://sdk.amazonaws.com/js/aws-sdk-SDK_VERSION_NUMBER.min.js"></script>
```

[Pour trouver le SDK\$1VERSION\$1NUMBER actuel, consultez la référence d'API du SDK pour le guide de référence des API. JavaScript AWS SDK pour JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/)

Après avoir chargé le kit SDK dans votre page, ce dernier est accessible à partir de la variable globale `AWS` (ou `window.AWS`).

Si vous regroupez vos dépendances de code et de module à l'aide de [browserify](http://browserify.org), vous chargez le kit SDK à l'aide de `require`, comme vous le feriez dans Node.js.

------

# Mise à niveau du SDK à JavaScript partir de la version 1
<a name="upgrading-from-v1"></a>

Les remarques suivantes vous aident à mettre à niveau le SDK JavaScript de la version 1 à la version 2.

## Conversion automatique en Base64 et types d'horodatage sur les entrées/sorties
<a name="upgrading-from-v1-base64-timestamp-conversion"></a>

Désormais, le kit SDK encode et décode automatiquement les valeurs codées en base64 ainsi que les valeurs d'horodatage, pour le compte de l'utilisateur. Cette modification affecte toutes les opérations dans lesquelles des valeurs en base64 ou d'horodatage ont été envoyées par une demande ou retournées dans une réponse qui autorise les valeurs codées en base64.

Le code utilisateur qui permettait auparavant de convertir en base64 n'est plus nécessaire. Les valeurs codées en base64 sont désormais retournées comme objets tampon à partir des réponses du serveur et peuvent également être transmises comme entrée de tampon. Par exemple, les paramètres `SQS.sendMessage` de la version 1 suivants :

```
var params = {
   MessageBody: 'Some Message',
   MessageAttributes: {
      attrName: {
         DataType: 'Binary',
         BinaryValue: new Buffer('example text').toString('base64')
      }
   }
};
```

Peuvent être réécrits comme suit.

```
var params = {
   MessageBody: 'Some Message',
   MessageAttributes: {
      attrName: {
         DataType: 'Binary',
         BinaryValue: 'example text'
      }
   }
};
```

Voici comment le message est lu.

```
sqs.receiveMessage(params, function(err, data) {
  // buf is <Buffer 65 78 61 6d 70 6c 65 20 74 65 78 74>
  var buf = data.Messages[0].MessageAttributes.attrName.BinaryValue;
  console.log(buf.toString()); // "example text"
});
```

## Response.data a été déplacé. RequestId à Response.RequestId
<a name="upgrading-from-v1-response-requestid"></a>

Le SDK stocke désormais les demandes IDs pour tous les services à un endroit cohérent sur l'`response`objet, plutôt qu'à l'intérieur de la `response.data` propriété. Cela améliore la cohérence entre les services qui exposent IDs les demandes de différentes manières. Il s'agit également d'une modification avec rupture qui renomme la propriété `response.data.RequestId` en `response.requestId` (`this.requestId` dans une fonction de rappel).

Dans votre code, modifiez les éléments suivants :

```
svc.operation(params, function (err, data) {
  console.log('Request ID:', data.RequestId);
});
```

Jusqu'à ce qui suit :

```
svc.operation(params, function () {
  console.log('Request ID:', this.requestId);
});
```

## Éléments d'encapsuleur exposés
<a name="upgrading-from-v1-exposed-wrapper-elements"></a>

Si vous utilisez `AWS.ElastiCache`, `AWS.RDS` ou `AWS.Redshift` pour certaines opérations, vous devez accéder à la réponse via la propriété de sortie de niveau supérieur dans la réponse. 

Par exemple, la méthode `RDS.describeEngineDefaultParameters` utilisée pour retourner ce qui suit.

```
{ Parameters: [ ... ] }
```

Désormais, elle retourne ce qui suit.

```
{ EngineDefaults: { Parameters: [ ... ] } }
```

La liste des opérations concernés pour chaque service est affichée dans le tableau suivant.


****  

| Classe client | Opérations | 
| --- | --- | 
| `AWS.ElastiCache` | `authorizeCacheSecurityGroupIngress` `createCacheCluster` `createCacheParameterGroup` `createCacheSecurityGroup` `createCacheSubnetGroup` `createReplicationGroup` `deleteCacheCluster` `deleteReplicationGroup` `describeEngineDefaultParameters` `modifyCacheCluster` `modifyCacheSubnetGroup` `modifyReplicationGroup` `purchaseReservedCacheNodesOffering` `rebootCacheCluster` `revokeCacheSecurityGroupIngress` | 
| `AWS.RDS` | `addSourceIdentifierToSubscription` `authorizeDBSecurityGroupIngress` `copyDBSnapshot` `createDBInstance` `createDBInstanceReadReplica` `createDBParameterGroup` `createDBSecurityGroup` `createDBSnapshot` `createDBSubnetGroup` `createEventSubscription` `createOptionGroup` `deleteDBInstance` `deleteDBSnapshot` `deleteEventSubscription` `describeEngineDefaultParameters` `modifyDBInstance` `modifyDBSubnetGroup` `modifyEventSubscription` `modifyOptionGroup` `promoteReadReplica` `purchaseReservedDBInstancesOffering` `rebootDBInstance` `removeSourceIdentifierFromSubscription` `restoreDBInstanceFromDBSnapshot` `restoreDBInstanceToPointInTime` `revokeDBSecurityGroupIngress` | 
| `AWS.Redshift` | `authorizeClusterSecurityGroupIngress` `authorizeSnapshotAccess` `copyClusterSnapshot` `createCluster` `createClusterParameterGroup` `createClusterSecurityGroup` `createClusterSnapshot` `createClusterSubnetGroup` `createEventSubscription` `createHsmClientCertificate` `createHsmConfiguration` `deleteCluster` `deleteClusterSnapshot` `describeDefaultClusterParameters` `disableSnapshotCopy` `enableSnapshotCopy` `modifyCluster` `modifyClusterSubnetGroup` `modifyEventSubscription` `modifySnapshotCopyRetentionPeriod` `purchaseReservedNodeOffering` `rebootCluster` `restoreFromClusterSnapshot` `revokeClusterSecurityGroupIngress` `revokeSnapshotAccess` `rotateEncryptionKey` | 

## Propriétés client abandonnées
<a name="upgrading-from-v1-dropped-client-properties"></a>

Les propriétés `.client` et `.Client` ont été supprimées des objets de service. Si vous utilisez la propriété `.Client` sur une classe de service ou la propriété `.client` sur une instance d'objet de service, supprimez ces propriétés à partir de votre code.

Le code suivant utilisé avec la version 1 du SDK pour JavaScript :

```
var sts = new AWS.STS.Client();
// or
var sts = new AWS.STS();

sts.client.operation(...);
```

Doit être remplacé par le code suivant.

```
var sts = new AWS.STS();
sts.operation(...)
```