類型系統(響應映射) - AWS AppSync

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

類型系統(響應映射)

收到來自 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 傳回下列數字集值:

{ "NS" : [ 67.8, 12.2, 70 ] }

AWS AppSync 將其轉換為數字列表:

[ 67.8, 12.2, 70 ]
二進位類型 B

二進位值。DynamoDB 二進位值會以包含該值 base64 表示法的字串形式傳回。

例如,如果 DynamoDB 傳回下列 DynamoDB 進位值:

{ "B" : "SGVsbG8sIFdvcmxkIQo=" }

AWS AppSync 將其轉換為包含值 base64 表示法的字串:

"SGVsbG8sIFdvcmxkIQo="

請注意,二進位資料會以 RFC4648 和 RFC 2045 中所指定的 base64 編碼配置進行編碼。

二進位集類型 BS

二進位值的集合。DynamoDB 二進位集值會傳回為包含值 base64 表示法的字串清單。

例如,如果 DynamoDB 傳回下列 DynamoDB 進位集值:

{ "BS" : [ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ] }

AWS AppSync 將其轉換為包含值 base64 表示的字符串列表:

[ "SGVsbG8sIFdvcmxkIQo=", "SG93IGFyZSB5b3U/Cg==" ... ]

請注意,二進位資料會以 RFC4648 和 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 傳回下列空值:

{ "NULL" : null }

AWS AppSync 它轉換為一個空:

null