Kami mengumumkan
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Meminta dan Memindai Tabel DynamoDB
Contoh kode Node.js ini menunjukkan:
Cara menanyakan dan memindai tabel DynamoDB untuk item.
Skenario
Query menemukan item dalam tabel atau indeks sekunder hanya menggunakan nilai atribut kunci primer. Anda harus memberikan nama kunci partisi dan nilai yang harus 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 modul Node.js untuk mengidentifikasi satu atau beberapa item yang ingin Anda ambil dari tabel DynamoDB. Kode menggunakan SDK for JavaScript untuk melakukan kueri dan 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 selengkapnya, lihat situs web Node.js
. Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredensial bersama, lihat. Memuat 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 melewati episode 9 yang berisi frasa tertentu dalam subtitle mereka.
Buat modul Node.js dengan nama fileddb_query.js
. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses DynamoDB, buat AWS.DynamoDB
objek layanan. Buat objek JSON yang berisi parameter yang diperlukan untuk menanyakan tabel, yang dalam contoh ini mencakup nama tabel, yang ExpressionAttributeValues
dibutuhkan oleh kueri, a KeyConditionExpression
yang menggunakan nilai-nilai tersebut untuk menentukan item mana yang dikembalikan kueri, dan 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 contoh ini dapat ditemukan di sini GitHub
Memindai Tabel
Buat modul Node.js dengan nama fileddb_scan.js
. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses DynamoDB, buat AWS.DynamoDB
objek 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 contoh ini dapat ditemukan di sini GitHub