AWS SDK untuk JavaScript V2 telah mencapai akhir dukungan. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkueri dan Memindai Tabel DynamoDB
Contoh Node.js kode ini menunjukkan:
Cara menanyakan dan memindai tabel DynamoDB untuk item.
Skenario
Kueri menemukan item dalam tabel atau indeks sekunder hanya menggunakan nilai atribut kunci utama. Anda harus memberikan nama kunci partisi dan nilai yang akan dicari. Anda juga dapat memberikan nama dan nilai kunci pengurutan, dan menggunakan operator perbandingan untuk menyempurnakan hasil pencarian. Pemindaian menemukan item dengan memeriksa setiap item dalam tabel yang ditentukan.
Dalam contoh ini, Anda menggunakan serangkaian Node.js modul untuk mengidentifikasi satu atau lebih item yang ingin Anda ambil dari tabel DynamoDB. Kode menggunakan SDK untuk menanyakan dan JavaScript memindai tabel menggunakan metode kelas klien DynamoDB berikut:
Tugas Prasyarat
Untuk mengatur dan menjalankan contoh ini, pertama-tama selesaikan tugas-tugas ini:
Instal Node.js. Untuk informasi lebih lanjut, lihat situs Node.js web
. Buat file konfigurasi bersama dengan kredenSIAL pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredenSIAL bersama, lihatMemuat Kredensial di Node.js dari File Kredensial Bersama.
Buat tabel DynamoDB yang itemnya dapat Anda akses. Untuk informasi selengkapnya tentang membuat tabel DynamoDB, lihat. Membuat dan Menggunakan Tabel di DynamoDB
Melakukan Kueri Tabel
Contoh ini menanyakan tabel yang berisi informasi episode tentang seri video, mengembalikan judul episode dan subtitle episode musim kedua setelah episode 9 yang berisi frasa tertentu dalam subtitle mereka.
Buat Node.js modul dengan nama fileddb_query.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses DynamoDB, buat objek AWS.DynamoDB layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk menanyakan tabel, yang dalam contoh ini mencakup nama tabel, yang ExpressionAttributeValues dibutuhkan oleh kueri, KeyConditionExpression yang menggunakan nilai-nilai tersebut untuk menentukan item mana yang dikembalikan kueri, dan nama-nama nilai atribut yang akan dikembalikan untuk setiap item. Panggil query metode objek layanan DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { ExpressionAttributeValues: { ":s": { N: "2" }, ":e": { N: "09" }, ":topic": { S: "PHRASE" }, }, KeyConditionExpression: "Season = :s and Episode > :e", ProjectionExpression: "Episode, Title, Subtitle", FilterExpression: "contains (Subtitle, :topic)", TableName: "EPISODES_TABLE", }; ddb.query(params, function (err, data) { if (err) { console.log("Error", err); } else { //console.log("Success", data.Items); data.Items.forEach(function (element, index, array) { console.log(element.Title.S + " (" + element.Subtitle.S + ")"); }); } });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node ddb_query.js
Kode sampel ini dapat ditemukan di sini GitHub
Memindai Tabel
Buat Node.js modul dengan nama fileddb_scan.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses DynamoDB, buat objek AWS.DynamoDB layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk memindai tabel untuk item, yang dalam contoh ini mencakup nama tabel, daftar nilai atribut yang akan dikembalikan untuk setiap item yang cocok, dan ekspresi untuk memfilter set hasil untuk menemukan item yang berisi frasa tertentu. Panggil scan metode objek layanan DynamoDB.
// Load the AWS SDK for Node.js. var AWS = require("aws-sdk"); // Set the AWS Region. AWS.config.update({ region: "REGION" }); // Create DynamoDB service object. var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); const params = { // Specify which items in the results are returned. FilterExpression: "Subtitle = :topic AND Season = :s AND Episode = :e", // Define the expression attribute value, which are substitutes for the values you want to compare. ExpressionAttributeValues: { ":topic": { S: "SubTitle2" }, ":s": { N: 1 }, ":e": { N: 2 }, }, // Set the projection expression, which are the attributes that you want. ProjectionExpression: "Season, Episode, Title, Subtitle", TableName: "EPISODES_TABLE", }; ddb.scan(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); data.Items.forEach(function (element, index, array) { console.log( "printing", element.Title.S + " (" + element.Subtitle.S + ")" ); }); } });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node ddb_scan.js
Kode sampel ini dapat ditemukan di sini GitHub