Đọc dữ liệu

Trong bước này chúng ta sẽ lấy ra dữ liệu trong bảng DynamoDB với key truyền vào.

  1. Chọn tab Schema ở menu bên trái
  • Trong ngăn Resolvers ở bên phải, tìm trường getPost thuộc kiểu Query, sau đó chọn Attach

CreateGetResolvers

  1. Tại trang cấu hình Attach resolver:
  • Resolver type: Chọn Unit resolver
  • Resolver runtime: Chọn Velocity Template Language (VTL)
  • Data source name: Chọn PostDynamoDBTable
  • Kéo xuống dưới cùng và ấn nút Create màu cam.

CreateGetResolvers

  1. Sau khi tạo xong, bạn sẽ được chuyển đến trang soạn thảo mã của Resolver. Tại đây:
  • Xóa mã mặc định và dán nội dung dưới đây vào phần Configure the request mapping template (Mẫu ánh xạ yêu cầu):
{
    "version" : "2017-02-28",
    "operation" : "GetItem",
    "key" : {
        "id" : $util.dynamodb.toDynamoDBJson($ctx.args.id)
    }
}

CreateGetResolvers

  1. Kéo xuống dưới, xóa mã mặc định và dán nội dung dưới đây vào mục Configure the response mapping template (Mẫu ánh xạ phản hồi):
#if($context.error)
  $util.error($context.error.message, $context.error.type)
#end
$util.toJson($context.result)

CreateGetResolvers

  1. Ấn Save ở góc trang để lưu lại

CreateGetResolvers

  1. Chọn tab Queries ở menu bên trái
  • Xóa mã mặc định trong khung soạn thảo, dán đoạn lệnh dưới đây vào phần Queries, sau đó ấn nút Run (biểu tượng nút Play màu cam)
query getPost {
  getPost(id:"123") {
    id
    author
    title
    content
    url
    ups
    downs
    version
  }
}

CreateGetResolvers

  1. Kết quả trả về tương tự như sau:
{
  "data": {
    "getPost": {
      "id": "123",
      "author": "AUTHORNAME",
      "title": "Our first post!",
      "content": "This is our first post.",
      "url": "https://aws.amazon.com/appsync/",
      "ups": 1,
      "downs": 0,
      "version": 1
    }
  }
}

CreateGetResolvers