Utilizzo dell'oggetto di risposta - AWS SDK for JavaScript

Abbiamo annunciato l'imminente uscita end-of-support per la AWS SDK for JavaScript v2. Ti consigliamo di migrare alla AWS SDK for JavaScript v3. Per date, dettagli aggiuntivi e informazioni su come effettuare la migrazione, consulta l'annuncio collegato.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo dell'oggetto di risposta

Una volta chiamato, un metodo dell'oggetto di servizio restituisce un oggetto AWS.Response trasferendolo alla tua funzione di callback. Accedi ai contenuti della risposta attraverso le proprietà dell'oggetto AWS.Response. Esistono due proprietà dell'oggetto AWS.Response che utilizzi per accedere ai contenuti della risposta:

  • data property

  • error property

Quando utilizzi il meccanismo di callback standard, queste due proprietà vengono fornite come parametri sulla funzione di callback anonimo, come illustrato nell'esempio seguente.

function(error, data) { if (error) { // error handling code console.log(error); } else { // data handling code console.log(data); } }

Accesso ai dati restituiti nell'oggetto di risposta

La proprietà data dell'oggetto AWS.Response contiene i dati serializzati restituiti dalla richiesta di servizio. Quando la richiesta ha esito positivo, la proprietà data include un oggetto contenente una mappa per i dati restituiti. La proprietà data può essere null se si verifica un errore.

Ecco un esempio di chiamata al getItem metodo di una tabella DynamoDB per recuperare il nome di un file di immagine da utilizzare come parte di un gioco.

// 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();

Per questo esempio, la tabella DynamoDB è una ricerca di immagini che mostrano i risultati del pull di una slot machine come specificato dai parametri in. slotParams

Dopo una chiamata riuscita del getItem metodo, la data proprietà dell'AWS.Responseoggetto contiene un Item oggetto restituito da DynamoDB. Puoi accedere ai dati restituiti in base al parametro ProjectionExpression della richiesta, che in questo caso indica il membro imageFile dell'oggetto Item. Poiché il membro imageFile contiene un valore di stringa, puoi accedere al nome file dell'immagine stessa attraverso il valore del membro figlio S di imageFile.

Paging tramite dati restituiti

A volte il contenuto della proprietà data restituito da una richiesta di servizio si estende su più pagine. Puoi accedere alla successiva pagina di dati chiamando il metodo response.nextPage. Questo metodo invia una nuova richiesta. La risposta della richiesta può essere acquisita con un callback o con i listener di errore e di operazione riuscita.

Puoi verificare se i dati restituiti da una richiesta di servizio includono pagine di dati aggiuntive chiamando il metodo response.hasNextPage. Questo metodo restituisce un valore booleano per indicare se la chiamata response.nextPage restituisce dati aggiuntivi.

s3.listObjects({Bucket: 'bucket'}).on('success', function handlePage(response) { // do something with response.data if (response.hasNextPage()) { response.nextPage().on('success', handlePage).send(); } }).send();

Accesso alle informazioni sugli errori da un oggetto di risposta

La proprietà error dell'oggetto AWS.Response contiene i dati dell'errore disponibili in caso di errore di servizio o di trasferimento. L'errore restituito presenta il seguente formato.

{ code: 'SHORT_UNIQUE_ERROR_CODE', message: 'a descriptive error message' }

Se si verifica un errore, il valore della proprietà data è null. Se gestisci eventi che possono essere in uno stato di errore, controlla sempre se la proprietà error è stata impostata prima di tentare di accedere al valore della proprietà data.

Accesso all'oggetto di richiesta originario

La proprietà request fornisce l'accesso all'oggetto AWS.Request originario. Può essere utile fare riferimento all'oggetto AWS.Request originario per accedere ai parametri originali inviati. Nell'esempio seguente, la proprietà request viene utilizzata per accedere al parametro Key della richiesta di servizio originale.

s3.getObject({Bucket: 'bucket', Key: 'key'}).on('success', function(response) { console.log("Key was", response.request.params.Key); }).send();