Meminta dan Memindai Tabel DynamoDB - 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.

Meminta dan Memindai Tabel DynamoDB

JavaScript code example that applies to Node.js execution

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:

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.