Dukungan JSON di Amazon DynamoDB - AWS SDK for .NET

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

Dukungan JSON di Amazon DynamoDB

catatan

Informasi dalam topik ini khusus untuk proyek berdasarkan .NET Framework dan AWS SDK for .NET versi 3.3 dan sebelumnya.

AWS SDK for .NET Mendukung data JSON saat bekerja dengan Amazon DynamoDB. Ini memungkinkan Anda untuk lebih mudah mendapatkan data berformat JSON dari, dan memasukkan dokumen JSON ke dalam, tabel DynamoDB.

Dapatkan Data dari Tabel DynamoDB dalam Format JSON

Contoh berikut menunjukkan bagaimana untuk mendapatkan data dari tabel DynamoDB dalam format JSON:

// using Amazon.DynamoDBv2; // using Amazon.DynamoDBv2.DocumentModel; var client = new AmazonDynamoDBClient(); var table = Table.LoadTable(client, "AnimalsInventory"); var item = table.GetItem(3, "Horse"); var jsonText = item.ToJson(); Console.Write(jsonText); // Output: // {"Name":"Shadow","Type":"Horse","Id":3} var jsonPrettyText = item.ToJsonPretty(); Console.WriteLine(jsonPrettyText); // Output: // { // "Name" : "Shadow", // "Type" : "Horse", // "Id" : 3 // }

Dalam contoh sebelumnya, ToJson metode Document kelas mengubah item dari tabel menjadi string berformat JSON. Item diambil melalui GetItem metode Table kelas. Untuk menentukan item yang akan didapatkan, dalam contoh ini, GetItem metode menggunakan kunci hash-and-range utama dari item target. Untuk menentukan tabel untuk mendapatkan item dari, LoadTable metode Table kelas menggunakan instance dari AmazonDynamoDBClient kelas dan nama tabel target di DynamoDB.

Masukkan Data Format JSON ke dalam Tabel DynamoDB

Contoh berikut menunjukkan bagaimana menggunakan format JSON untuk menyisipkan item ke dalam tabel DynamoDB:

// using Amazon.DynamoDBv2; // using Amazon.DynamoDBv2.DocumentModel; var client = new AmazonDynamoDBClient(); var table = Table.LoadTable(client, "AnimalsInventory"); var jsonText = "{\"Id\":6,\"Type\":\"Bird\",\"Name\":\"Tweety\"}"; var item = Document.FromJson(jsonText); table.PutItem(item);

Dalam contoh sebelumnya, FromJson metode Document kelas mengkonversi string JSON-diformat menjadi item. Item dimasukkan ke dalam tabel melalui PutItem metode Table kelas, yang menggunakan instance Document kelas yang berisi item. Untuk menentukan tabel untuk memasukkan item ke dalam, LoadTable metode Table kelas dipanggil, menentukan instance AmazonDynamoDBClient kelas dan nama tabel target di DynamoDB.

DynamoDB Konversi Tipe Data ke JSON

Setiap kali Anda memanggil ToJson metode Document kelas, dan kemudian pada data JSON yang dihasilkan Anda memanggil FromJson metode untuk mengubah data JSON kembali ke instance Document kelas, beberapa tipe data DynamoDB tidak akan dikonversi seperti yang diharapkan. Secara khusus:

  • DynamoDB set (SSNS,, BS dan jenis) akan dikonversi ke array JSON.

  • Skalar dan set biner DynamoDB (BBSdan tipe) akan dikonversi ke string JSON yang dikodekan base64 atau daftar string.

    Dalam skenario ini, Anda harus memanggil DecodeBase64Attributes metode Document kelas untuk mengganti data JSON yang dikodekan base64 dengan representasi biner yang benar. Contoh berikut menggantikan atribut item skalar biner berkode base64 dalam contoh Document kelas, bernamaPicture, dengan representasi biner yang benar. Contoh ini juga melakukan hal yang sama untuk atribut item set biner yang dikodekan base64 dalam contoh kelas yang sama, bernama: Document RelatedPictures

    item.DecodeBase64Attributes("Picture", "RelatedPictures");

Info Selengkapnya

Untuk informasi lebih lanjut dan contoh pemrograman JSON dengan DynamoDB dengan, lihat: AWS SDK for .NET