

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.

# Création et appel d'objets de service
<a name="creating-and-calling-service-objects"></a>

L' JavaScript API prend en charge la plupart AWS des services disponibles. Chaque classe de service de l' JavaScript API donne accès à chaque appel d'API de son service. Pour plus d'informations sur les classes de service, les opérations et les paramètres de l' JavaScript API, consultez la [référence de l'API](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html).

Lorsque vous utilisez le kit SDK dans Node.js, vous ajoutez le package du kit SDK à votre application à l'aide de `require`, qui prend en charge tous les services actuels.

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

Lorsque vous utilisez le SDK avec un navigateur JavaScript, vous chargez le package SDK dans les scripts de votre navigateur à l'aide du package SDK hébergé par AWS. Pour charger le package du kit SDK, ajoutez l'élément `<script>` suivant :

```
<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/)

Le package SDK hébergé par défaut prend en charge un sous-ensemble des services disponibles. AWS Pour obtenir la liste des services par défaut du package du kit SDK hébergé pour le navigateur, consultez [Services pris en charge](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/#Supported_Services) dans la référence d'API. Vous pouvez utiliser le kit SDK avec d'autres services si le contrôle de sécurité CORS est désactivé. Dans ce cas, vous pouvez créer une version personnalisée du kit SDK afin d'inclure les services supplémentaires dont vous avez besoin. Pour plus d'informations sur la création d'une version personnalisée du kit SDK, consultez [Création du kit SDK pour les navigateurs](building-sdk-for-browsers.md).

## Demande de services individuels
<a name="requiring-individual-services"></a>

Exiger le SDK pour, JavaScript comme indiqué précédemment, inclut le SDK complet dans votre code. Vous pouvez également choisir de demander uniquement les services individuels utilisés par votre code. Considérez le code suivant utilisé pour créer un objet de service Amazon S3.

```
// Import the AWS SDK
var AWS = require('aws-sdk');

// Set credentials and Region
// This can also be done directly on the service client
AWS.config.update({region: 'us-west-1', credentials: {YOUR_CREDENTIALS}});

var s3 = new AWS.S3({apiVersion: '2006-03-01'});
```

Dans l'exemple précédent, la fonction `require` spécifie l'ensemble du kit SDK. La quantité de code à transporter sur le réseau ainsi que la charge de mémoire associée à votre code seraient considérablement réduites si seule la partie du SDK dont vous avez besoin pour le service Amazon S3 était incluse. Pour demander un service individuel, appelez la fonction `require` comme indiqué, en incluant le constructeur de service en lettres minuscules.

```
require('aws-sdk/clients/SERVICE');
```

Voici à quoi ressemble le code permettant de créer l'objet de service Amazon S3 précédent lorsqu'il inclut uniquement la partie Amazon S3 du SDK.

```
// Import the Amazon S3 service client
var S3 = require('aws-sdk/clients/s3');
 
// Set credentials and Region
var s3 = new S3({
    apiVersion: '2006-03-01',
    region: 'us-west-1', 
    credentials: {YOUR_CREDENTIALS}
  });
```

Vous pouvez toujours accéder à l'espace de AWS noms global sans que tous les services y soient attachés.

```
require('aws-sdk/global');
```

Cette technique est utile lorsque vous appliquez la même configuration sur plusieurs services individuels, par exemple pour fournir les mêmes informations d'identification à tous les services. Les demandes de services individuels doivent réduire le temps de chargement et la consommation de mémoire dans Node.js. Après avoir utilisé un outil de regroupement tel que Browserify ou webpack, le fait de demander des services individuels réduit la taille du kit SDK. Cela est utile dans les environnements où la mémoire ou l'espace disque sont limités, tels qu'un appareil IoT ou une fonction Lambda.

## Création d'objets de service
<a name="creating-service-objects"></a>

Pour accéder aux fonctionnalités de service via l' JavaScript API, vous devez d'abord créer un *objet de service* par lequel vous accédez à un ensemble de fonctionnalités fournies par la classe client sous-jacente. En général, une classe client est fournie pour chaque service. Cependant, certains services répartissent l'accès à leurs fonctionnalités entre plusieurs classes client.

Pour utiliser une fonctionnalité, vous devez créer une instance de la classe permettant d'accéder à cette fonctionnalité. L'exemple suivant montre la création d'un objet de service pour DynamoDB à partir de `AWS.DynamoDB` la classe client.

```
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
```

Par défaut, un objet de service est configuré avec les mêmes paramètres globaux que ceux utilisés pour configurer le kit SDK. Vous pouvez cependant configurer un objet de service avec des données de configuration d'exécution spécifiques à cet objet de service. Les données de configuration spécifiques à un service sont appliquées après les paramètres de configuration généraux.

Dans l'exemple suivant, un objet de service Amazon EC2 est créé avec une configuration pour une région spécifique, mais utilise sinon la configuration globale.

```
var ec2 = new AWS.EC2({region: 'us-west-2', apiVersion: '2014-10-01'});
```

En plus de prendre en charge une configuration spécifique à un service appliquée à un objet de service individuel, vous pouvez appliquer une configuration spécifique à un service à tous les objets de service nouvellement créés d'une classe donnée. Par exemple, pour configurer tous les objets de service créés à partir de la classe Amazon EC2 afin d'utiliser la région USA West (Oregon) (`us-west-2`), ajoutez ce qui suit à l'objet de configuration `AWS.config` global.

```
AWS.config.ec2 = {region: 'us-west-2', apiVersion: '2016-04-01'};
```

## Verrouillage de la version d'API d'un objet de service
<a name="locking-api-version-of-service-objects"></a>

Vous pouvez verrouiller un objet de service sur la version d'API spécifique d'un service en spécifiant l'option `apiVersion` lorsque vous créez l'objet. Dans l'exemple suivant, un objet de service DynamoDB est créé et est verrouillé selon une version d'API spécifique.

```
var dynamodb = new AWS.DynamoDB({apiVersion: '2011-12-05'});
```

Pour plus d'informations sur le verrouillage de la version de l'API d'un objet de service, consultez [Verrouillage des versions d'API](locking-api-versions.md).

## Spécification des paramètres d'un objet de service
<a name="specifying-service-object-parameters"></a>

Lorsque vous appelez une méthode d'un objet de service, transmettez des paramètres au format JSON, comme requis par l'API. Par exemple, dans Amazon S3, pour obtenir un objet pour un compartiment et une clé spécifiques, transmettez les paramètres suivants à la `getObject` méthode. Pour plus d'informations sur la transmission de paramètres JSON, consultez [Utilisation du format JSON](working-with-json.md).

```
s3.getObject({Bucket: 'bucketName', Key: 'keyName'});
```

Pour plus d'informations sur les paramètres Amazon S3, consultez [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html)la référence de l'API.

En outre, vous pouvez lier des valeurs à des paramètres individuels lorsque vous créez un objet de service à l'aide du paramètre `params`. La valeur du paramètre `params` des objets de service est une carte qui spécifie une ou plusieurs des valeurs des paramètres définies par le service. L'exemple suivant montre le `Bucket` paramètre d'un objet de service Amazon S3 lié à un compartiment nommé`amzn-s3-demo-bucket`.

```
var s3bucket = new AWS.S3({params: {Bucket: 'amzn-s3-demo-bucket'}, apiVersion: '2006-03-01' });
```

En liant l'objet de service à un compartiment, l'objet de service `s3bucket` traite la valeur du paramètre `amzn-s3-demo-bucket` en tant que valeur par défaut n'ayant plus besoin d'être spécifiée pour les opérations ultérieures. Toutes les valeurs de paramètre liés sont ignorées lorsque vous utilisez l'objet pour des opérations dans lesquelles la valeur du paramètre n'est pas applicable. Vous pouvez remplacer ce paramètre lié lorsque vous effectuez des appels sur l'objet de service en spécifiant une nouvelle valeur. 

```
var s3bucket = new AWS.S3({ params: {Bucket: 'amzn-s3-demo-bucket'}, apiVersion: '2006-03-01' });
s3bucket.getObject({Key: 'keyName'});
// ...
s3bucket.getObject({Bucket: 'amzn-s3-demo-bucket3', Key: 'keyOtherName'});
```

Les détails sur les paramètres disponibles pour chaque méthode sont disponibles dans la référence d'API.