AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
如何設定 AWS AppSync 結構描述以處理 DynamoDB 的巢狀 JSON 資料?
我希望 AWS AppSync 結構描述能夠從具有巢狀 JSON 資料的 Amazon DynamoDB 資料表擷取回應。該如何操作?
簡短說明
若要取得 AWS AppSync 結構描述以處理 DynamoDB 的巢狀 JSON 資料,請執行下列動作:
- 將巢狀 JSON 資料項目新增至 DynamoDB 資料表。
- 建立 AWS AppSync API 並連接資料來源。
- 在 AWS AppSync API 設定巢狀 JSON 結構描述。
- 將解析程式連接至 getItems 查詢。
- 建立新的測試查詢。
**重要事項:**如果欄位名稱未對應至巢狀 JSON 資料,則 AWS AppSync 結構描述會在回應中傳遞 null 值給 DynamoDB。
解決方法
將巢狀 JSON 資料項目新增至 DynamoDB 資料表
1. 開啟 Amazon DynamoDB 主控台。
2. 選擇建立資料表。
3. 在資料表名稱欄位輸入敘述名稱。
4. 在分割區索引鍵欄位輸入欄位名稱。例如:id。
5. 選擇建立資料表。新資料表會顯示在主控台的資料表頁面。
6. 在名稱欄位選擇新資料表名稱。資料表的概觀頁面隨即開啟。
7. 選擇動作下拉式清單。然後,選擇建立項目。建立項目頁面隨即開啟。
8. 選擇 JSON 按鈕。
9. 將下列巢狀 JSON 記錄複製並貼到 JSON 編輯器,然後選擇儲存:
**重要事項:**請確定您使用巢狀 JSON 記錄覆寫 JSON 編輯器預先填入的內容。
巢狀 JSON 記錄範例
{ "id": "123", "product": { "model": { "property": { "battery": "li-ion", "device": "iOT-Device", "pressure": "1012", "up_time": "02:12:34" } } }, "status": "In-Stock" }
如需詳細資訊,請參閱建立資料表。
建立 AWS AppSync API 並連接資料來源
1. 開啟 AWS AppSync 主控台。
2. 選擇建立 API。
3. 在**「開始使用」頁面的自訂您的 API 或從 Amazon DynamoDB 匯入下,選擇從頭開始建置**。
4. 選擇開始。
5. 在 API 名稱欄位輸入 API 名稱。
6. 選擇建立。
7. 在左側導覽窗格選擇資料來源。
8. 選擇建立資料來源。
9. 在新的資料來源頁面的建立新的資料來源下,選擇下列選項: 對於資料來源名稱,請輸入敘述名稱。對於資料來源類型,請選擇 Amazon DynamoDB 資料表。對於區域,請選擇包含 DynamoDB 資料表的區域。對於資料表名稱,請選擇您剛建立的資料表。
**重要事項:**請將所有其他選項保留為預設值。
10. 選擇建立。
如需詳細資訊,請參閱連接資料來源。
在 AWS AppSync API 設定巢狀 JSON 結構描述
1. 開啟 AWS AppSync 主控台。
2. 在左側導覽窗格選擇結構描述。
3. 將下列巢狀 JSON 結構描述複製並貼到 JSON 編輯器,然後選擇儲存結構描述:
**重要事項:**請確定您使用巢狀 JSON 結構描述覆寫 JSON 編輯器預先填入的內容。
巢狀 JSON 結構描述範例
type Query { getItems(id: String!): allData } type allData { id: String! product: toModel status: String } type items { battery: String device: String pressure: String up_time: String } schema { query: Query } type toModel { model: toProperties } type toProperties { property: items }
如需詳細資訊,請參閱設計結構描述。
將解析程式連接至 getItems 查詢
1. 開啟 AWS AppSync 主控台。
2. 在 API 結構描述頁面的解析程式下,捲動至查詢。
注意:或者,您可以在篩選條件類型欄位輸入查詢。
3. 在 getItems(...): allData 旁的解析程式下選擇連接。
4. 在建立新的解析程式頁面,針對資料來源名稱選擇您建立的 DynamoDB 資料表名稱。
**重要事項:**請勿變更 DynamoDB GetItem 操作的預設映射範本。
5. 選擇儲存解析程式。
請求映射範本範例
{ "version": "2017-02-28", "operation": "GetItem", "key": { "id": $util.dynamodb.toDynamoDBJson($ctx.args.id), } }
回應映射範本範例
$util.toJson($ctx.result)
如需詳細資訊,請參閱設定解析程式。
建立新的測試查詢
1. 開啟 AWS AppSync 主控台。
2. 在左側導覽窗格選擇查詢。
3. 在 API 查詢頁面的查詢編輯器中,複製並貼上下列查詢:
測試查詢範例
query getItem { getItems(id:"123") { id product{ model{ property{ pressure device battery up_time } } } status } }
4. 若要執行測試查詢,請選擇播放圖示,或按下 Ctrl/Cmd + Enter。
測試查詢結果範例
{ "data": { "getItems": { "id": "123", "product": { "model": { "property": { "pressure": "1012", "device": "iOT-Device", "battery": "li-ion", "up_time": "02:12:34" } } }, "status": "In-Stock" } } }
您現在可以透過 AWS AppSync GraphQL 操作,從 Amazon DynamoDB 資料表擷取任何巢狀 JSON 資料。
相關資訊
相關內容
AWS 官方已更新 10 個月前
