本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
類型系統 (回應映射)
從 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 -
字串值的集合。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 -
數值的集合。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=" - 二進位集類型
BS -
二進位值的集合。DynamoDB 二進位集值會以包含 base64 值表示的字串清單傳回。
例如,如果 DynamoDB 傳回下列 DynamoDB 二進位集值:
{ "BS" : [ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ] }AWS AppSync 將其轉換為包含 base64 值表示法的字串清單:
[ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ] - 布林類型
BOOL -
布林值。DynamoDB 布林值會以布林值傳回。
例如,如果 DynamoDB 傳回下列 DynamoDB 布林值:
{ "BOOL" : true }AWS AppSync 將其轉換為布林值:
true - 清單類型
L -
任何其他支援的 DynamoDB 值清單。DynamoDB 清單值會傳回為值清單,其中每個內部值也會轉換。
例如,如果 DynamoDB 傳回下列 DynamoDB List 值:
{ "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 Map 值會以 JSON 物件傳回,其中每個索引鍵/值也會轉換。
例如,如果 DynamoDB 傳回下列 DynamoDB Map 值:
{ "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" : null }AWS AppSync 將其轉換為 null:
null