Menggunakan Response Object - AWS SDK for JavaScript

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for JavaScript v2. Kami menyarankan Anda bermigrasi ke AWS SDK for JavaScript v3. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan Response Object

Setelah metode objek layanan dipanggil, ia mengembalikan AWS.Response objek dengan meneruskannya ke fungsi callback Anda. Anda mengakses konten respons melalui properti AWS.Response objek. Ada dua properti AWS.Response objek yang Anda gunakan untuk mengakses isi respons:

  • dataproperti

  • errorproperti

Saat menggunakan mekanisme callback standar, kedua properti ini disediakan sebagai parameter pada fungsi callback anonim seperti yang ditunjukkan pada contoh berikut.

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

Mengakses Data yang Dikembalikan di Objek Response

dataProperti AWS.Response objek berisi data serial yang dikembalikan oleh permintaan layanan. Ketika permintaan berhasil, data properti berisi objek yang berisi peta ke data yang dikembalikan. dataProperti bisa null jika terjadi kesalahan.

Berikut adalah contoh memanggil getItem metode tabel DynamoDB untuk mengambil nama file file gambar untuk digunakan sebagai bagian dari permainan.

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

Untuk contoh ini, tabel DynamoDB adalah pencarian gambar yang menunjukkan hasil tarikan mesin slot seperti yang ditentukan oleh parameter di. slotParams

Setelah pemanggilan getItem metode berhasil, data properti AWS.Response objek berisi Item objek yang dikembalikan oleh DynamoDB. Data yang dikembalikan diakses sesuai dengan ProjectionExpression parameter permintaan, yang dalam hal ini berarti imageFile anggota Item objek. Karena imageFile anggota memegang nilai string, Anda mengakses nama file dari gambar itu sendiri melalui nilai anggota S anak dariimageFile.

Paging Melalui Data yang Dikembalikan

Terkadang konten data properti yang dikembalikan oleh permintaan layanan menjangkau beberapa halaman. Anda dapat mengakses halaman data berikutnya dengan memanggil response.nextPage metode. Metode ini mengirimkan permintaan baru. Respons dari permintaan dapat ditangkap baik dengan callback atau dengan sukses dan pendengar kesalahan.

Anda dapat memeriksa untuk melihat apakah data yang dikembalikan oleh permintaan layanan memiliki halaman data tambahan dengan memanggil response.hasNextPage metode. Metode ini mengembalikan boolean untuk menunjukkan apakah panggilan response.nextPage mengembalikan data tambahan.

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

Mengakses Informasi Kesalahan dari Objek Respons

errorProperti AWS.Response objek berisi data kesalahan yang tersedia jika terjadi kesalahan layanan atau kesalahan transfer. Kesalahan yang dikembalikan mengambil formulir berikut.

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

Dalam kasus kesalahan, nilai data properti adalahnull. Jika Anda menangani peristiwa yang dapat berada dalam status kegagalan, selalu periksa apakah error properti telah disetel sebelum mencoba mengakses nilai data properti.

Mengakses Objek Permintaan Asal

requestProperti menyediakan akses ke AWS.Request objek yang berasal. Hal ini dapat berguna untuk merujuk ke AWS.Request objek asli untuk mengakses parameter asli yang dikirim. Dalam contoh berikut, request properti digunakan untuk mengakses Key parameter permintaan layanan asli.

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