Amazon DynamoDB での JSON サポート - AWS SDK for .NET

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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 セット (SSNS、および 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、「」を参照してください。