翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
型システム (レスポンスマッピング)
DynamoDB からレスポンスを受信すると、 AWS AppSync はそれを GraphQL プリミティブ型と JSON プリミティブ型に自動的に変換します。DynamoDB の各属性はデコードされ、レスポンスマッピングコンテキストで返されます。
たとえば、DynamoDB が以下を返したとします。
{ "id" : { "S" : "1234" }, "name" : { "S" : "Nadia" }, "age" : { "N" : 25 } }
次に、 AWS AppSync DynamoDB リゾルバーはそれを次のように GraphQL および JSON 型に変換します。
{ "id" : "1234", "name" : "Nadia", "age" : 25 }
このセクションでは、 AWS AppSync が次の DynamoDB スカラー、ドキュメント、およびセットタイプを変換する方法について説明します。
- 文字列型
S -
単一の文字列値です。DynamoDB 文字列値が文字列として返されます。
たとえば、DynamoDB が次の DynamoDB の文字列値を返したとします。
{ "S" : "some string" }AWS AppSync はこれを文字列に変換します。
"some string" - 文字列セット型
SS -
1 組の文字列値です。DynamoDB 文字列セット値が文字列のリストとして返されます。
たとえば、DynamoDB が次の DynamoDB 文字列セット値を返したとします。
{ "SS" : [ "first value", "second value", ... ] }AWS AppSync はこれを文字列のリストに変換します。
[ "+1 555 123 4567", "+1 555 234 5678" ] - 数値型
N -
単一の数値です。DynamoDB 数値が数字として返されます。
たとえば、DynamoDB が次の DynamoDB の数値を返したとします。
{ "N" : 1234 }AWS AppSync はこれを数値に変換します。
1234 - 数値セット型
NS -
1 組の数値です。DynamoDB 数値セットが数字のリストとして返されます。
たとえば、DynamoDB が次の DynamoDB の数値セット値を返したとします。
{ "NS" : [ 67.8, 12.2, 70 ] }AWS AppSync はこれを数値のリストに変換します。
[ 67.8, 12.2, 70 ] - バイナリ型
B -
バイナリ値です。DynamoDB のバイナリ値は、その値を Base64 で表した文字列として返されます。
たとえば、DynamoDB が次の DynamoDB のバイナリ値を返したとします。
{ "B" : "SGVsbG8sIFdvcmxkIQo=" }AWS AppSync は、値を base64 で表現した文字列に変換します。
"SGVsbG8sIFdvcmxkIQo="バイナリデータは、RFC 4648
と RFC 2045 で指定されているようにして Base64 エンコーディングスキームにエンコードされます。 - バイナリセット型
BS -
1 組のバイナリ値です。DynamoDB のバイナリセット値は、その値を Base64 で表した文字列のリストとして返されます。
たとえば、DynamoDB が次の DynamoDB のバイナリ値を返したとします。
{ "BS" : [ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ] }AWS AppSync は、値を base64 で表現した文字列のリストに変換します。
[ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ]バイナリデータは、RFC 4648
と RFC 2045 で指定されているようにして Base64 エンコーディングスキームにエンコードされます。 - ブール型
BOOL -
ブール値。DynamoDB ブール値がブールとして返されます。
たとえば、DynamoDB が次の DynamoDB のブール値を返したとします。
{ "BOOL" : true }AWS AppSync はこれをブール値に変換します。
true - リスト型
L -
サポートされているその他の DynamoDB の値のリストです。DynamoDB のリスト値は値のリストとして返され、内部のそれぞれの値も変換されます。
たとえば、DynamoDB が次の DynamoDB の文字列値を返したとします。
{ "L" : [ { "S" : "A string value" }, { "N" : 1 }, { "SS" : [ "Another string value", "Even more string values!" ] } ] }AWS AppSync は、変換された値のリストに変換します。
[ "A string value", 1, [ "Another string value", "Even more string values!" ] ] - マップ型
M -
サポートされるその他の DynamoDB の値のキー/値の集合です。DynamoDB のマップ値は JSON オブジェクトとして返されます。それぞれのキー/値も変換されます。
たとえば、DynamoDB が次の DynamoDB のバイナリ値を返したとします。
{ "M" : { "someString" : { "S" : "A string value" }, "someNumber" : { "N" : 1 }, "stringSet" : { "SS" : [ "Another string value", "Even more string values!" ] } } }AWS AppSync はこれを JSON オブジェクトに変換します。
{ "someString" : "A string value", "someNumber" : 1, "stringSet" : [ "Another string value", "Even more string values!" ] } - Null 型
NULL -
null 値です。
たとえば、DynamoDB が次の DynamoDB のブール値を返したとします。
{ "NULL" : null }AWS AppSync はこれを null に変換します。
null