翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon DynamoDB での JSON サポート
注記
このトピックの情報は、.NET に基づくプロジェクトに固有のものです。 Framework と AWS SDK for .NET バージョン 3.3 以前。
は、Amazon DynamoDB を操作するときに JSON データ AWS SDK for .NET をサポートします。これにより、DynamoDB テーブルから JSONJSON 形式のデータを取得し、Word ドキュメントを挿入しやすくなります。
JSON 形式の DynamoDB テーブルからデータを取得する
次の例は、DynamoDB テーブルから 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 // }
前の例では、Document
クラスの ToJson
メソッドはテーブルの項目を JSON 形式の文字列に変換します。項目を取得するには、Table
クラスの GetItem
メソッドを使用します。取得する項目を決定するには、この例では、 GetItem
メソッドはターゲット項目の hash-and-range プライマリキーを使用します。項目を取得するテーブルを特定するために、Table
クラスの LoadTable
メソッドで AmazonDynamoDBClient
クラスのインスタンスと DynamoDB の対象テーブルの名前を使用しています。
DynamoDB テーブルにJSON形式データを挿入する
次の例は、JSON 形式を使用して 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);
前の例では、 Document
クラスの FromJson
メソッドは JSON 形式の文字列を項目に変換します。項目は、PutItem
クラスの Table
メソッドによってテーブルに挿入されます。このメソッドは、項目を含む Document
クラスのインスタンスを使用します。項目を挿入するテーブルを特定するために、Table
クラスの LoadTable
メソッドが呼び出され、AmazonDynamoDBClient
クラスのインスタンスと DynamoDB の対象テーブルの名前を指定しています。
DynamoDB データ型から JSON への変換
Document
クラスの ToJson
メソッドを呼び出すたびに、その結果生じる JSON データで JSON データをDocument
クラスのインスタンスに変換FromJson
する方法を呼び出すと、一部の DynamoDB データ型は想定どおりに変換されません。具体的には次のとおりです。
-
DynamoDB セット (
SS
、NS
、およびBS
タイプ) は JSON 配列に変換されます。 -
DynamoDB バイナリスカラーとセット (
B
およびBS
タイプ) は、base64 でエンコードされた JSON 文字列または文字列のリストに変換されます。このシナリオでは、base64 でエンコードされた JSON データを正しいバイナリ表現に置き換えるために、
Document
クラスのDecodeBase64Attributes
メソッドを呼び出す必要があります。次の例では、Document
クラスのインスタンスのPicture
という名前の base64 でエンコードされたバイナリスカラー項目属性を、正しいバイナリ表現で置き換えています。また、この例では、Document
クラスの同じインスタンスのRelatedPictures
という名前の base64 でエンコードされたバイナリセット項目属性に対しても同じことを行っています。item.DecodeBase64Attributes("Picture", "RelatedPictures");
詳細情報
を使用して DynamoDB で JSON をプログラミングする詳細と例については AWS SDK for .NET、「」を参照してください。