Nous avons annoncé
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.
Utilisation de l'objet de réponse
Une fois qu'une méthode d'objet de service a été appelée, elle renvoie un objet AWS.Response
en le transmettant à votre fonction de rappel. Vous accédez au contenu de la réponse via les propriétés de l'objet AWS.Response
. Pour accéder au contenu de la réponse, vous utilisez deux propriétés de l'objet AWS.Response
:
-
propriété
data
-
propriété
error
Lorsque vous utilisez le mécanisme de rappel standard, ces deux propriétés sont fournies en tant que paramètres sur la fonction de rappel anonyme, comme illustré dans l'exemple suivant.
function(error, data) { if (error) { // error handling code console.log(error); } else { // data handling code console.log(data); } }
Accès aux données renvoyées dans l'objet de réponse
La propriété data
de l'objet AWS.Response
contient les données sérialisées renvoyées par la demande de service. Lorsque la demande aboutit, la propriété data
contient un objet contenant un mappage pour les données renvoyées. La propriété data
peut être null si une erreur se produit.
Voici un exemple d'appel de la getItem
méthode d'une table DynamoDB pour récupérer le nom d'un fichier image à utiliser dans le cadre d'un jeu.
// Initialize parameters needed to call DynamoDB var slotParams = { Key : {'slotPosition' : {N: '0'}}, TableName : 'slotWheels', ProjectionExpression: 'imageFile' }; // prepare request object for call to DynamoDB var request = new AWS.DynamoDB({region: 'us-west-2', apiVersion: '2012-08-10'}).getItem(slotParams); // log the name of the image file to load in the slot machine request.on('success', function(response) { // logs a value like "cherries.jpg" returned from DynamoDB console.log(response.data.Item.imageFile.S); }); // submit DynamoDB request request.send();
Dans cet exemple, la table DynamoDB est une recherche d'images qui montrent les résultats d'un pull de machine à sous, tels que spécifiés par les paramètres de. slotParams
En cas d'appel réussi de la getItem
méthode, la data
propriété de l'AWS.Response
objet contient un Item
objet renvoyé par DynamoDB. L'accès aux données retournées dépend du paramètre ProjectionExpression
de la demande. Dans le cas présent, il s'agit du membre imageFile
de l'objet Item
. Étant donné que le membre imageFile
contient une valeur de chaîne, vous accédez au nom de fichier de l'image via la valeur du membre enfant S
de imageFile
.
Pagination des données retournées
Parfois, le contenu de la propriété data
retournée par une demande de service s'étend sur plusieurs pages. Vous pouvez accéder à la page de données suivante en appelant la méthode response.nextPage
. Cette méthode envoie une nouvelle demande. La réponse de la demande peut être capturée avec un rappel ou avec des écouteurs de réussite et d'erreur.
Vous pouvez vérifier si des pages de données supplémentaires sont disponibles pour les données renvoyées par une demande de service en appelant la méthode response.hasNextPage
. Cette méthode renvoie une valeur booléenne pour indiquer si l'appel de la méthode response.nextPage
renvoie des données supplémentaires.
s3.listObjects({Bucket: 'bucket'}).on('success', function handlePage(response) { // do something with response.data if (response.hasNextPage()) { response.nextPage().on('success', handlePage).send(); } }).send();
Accès aux informations sur les erreurs à partir d'un objet de réponse
La propriété error
de l'objet AWS.Response
contient les données d'erreur disponibles en cas d'erreur de service ou de transfert. Voici le format de l'erreur renvoyée :
{ code: 'SHORT_UNIQUE_ERROR_CODE', message: 'a descriptive error message' }
En cas d'erreur, la valeur de la propriété data
est null
. Si vous gérez des événements pouvant être dans un état d'échec, vérifiez toujours si la propriété error
a été définie avant d'essayer d'accéder à la valeur de la propriété data
.
Accès à l'objet de demande d'origine
La propriété request
fournit un accès à l'objet AWS.Request
d'origine. Il peut s'avérer utile pour faire référence à l'objet AWS.Request
d'origine en vue d'accéder aux paramètres d'origine qu'il a envoyés. Dans l'exemple suivant, la propriété request
est utilisée pour accéder au paramètre Key
de la demande de service d'origine.
s3.getObject({Bucket: 'bucket', Key: 'key'}).on('success', function(response) { console.log("Key was", response.request.params.Key); }).send();