简体   繁体   English

AWS API Gateway作为dynamo DB HTTP Get映射模板的代理

[英]AWS API Gateway as proxy to dynamo DB HTTP Get mapping template

I have a API gateway which does a get to the tables stored in dynamo DB. 我有一个API网关,它可以访问存储在dynamo DB中的表。 The table stored looks like as JSON as show below 存储的表看起来像JSON,如下所示

{
  "photos": {
    "page": 1,
    "pages": "1234",
    "perpage": 100,
    "photo": [
      {
        "farm": 1,
        "id": "12345678901",
        "isfamily": 0,
        "isfriend": 0,
        "ispublic": 1,
        "owner": "23456789@A12",
        "secret": "abc123d456",
        "server": "1234",
        "title": "Sample photo 1"
      },
      {
        "farm": 2,
        "id": "23456789012",
        "isfamily": 0,
        "isfriend": 0,
        "ispublic": 1,
        "owner": "34567890@B23",
        "secret": "bcd234e567",
        "server": "2345",
        "title": "Sample photo 2"
      }
    ],
    "total": "123398"
  },
  "srini": "srini"
}

With out integration response mapping template I get the table as shown below 没有集成响应映射模板,我得到的表如下所示

  {  
 "Count": 1,   "Items": [
            {
              "photos": {
                "M": {
                  "photo": {
                    "L": [
                      {
                        "M": {
                          "owner": {
                            "S": "23456789@A12"
                          },
                          "server": {
                            "S": "1234"
                          },
                          "ispublic": {
                            "N": "1"
                          },
                          "isfriend": {
                            "N": "0"
                          },
                          "farm": {
                            "N": "1"
                          },
                          "id": {
                            "S": "12345678901"
                          },
                          "secret": {
                            "S": "abc123d456"
                          },
                          "title": {
                            "S": "Sample photo 1"
                          },
                          "isfamily": {
                            "N": "0"
                          }
                        }
                      },
                      {
                        "M": {
                          "owner": {
                            "S": "34567890@B23"
                          },
                          "server": {
                            "S": "2345"
                          },
                          "ispublic": {
                            "N": "1"
                          },
                          "isfriend": {
                            "N": "0"
                          },
                          "farm": {
                            "N": "2"
                          },
                          "id": {
                            "S": "23456789012"
                          },
                          "secret": {
                            "S": "bcd234e567"
                          },
                          "title": {
                            "S": "Sample photo 2"
                          },
                          "isfamily": {
                            "N": "0"
                          }
                        }
                      }
                    ]
                  },
                  "perpage": {
                    "N": "100"
                  },
                  "total": {
                    "S": "123398"
                  },
                  "pages": {
                    "S": "1234"
                  },
                  "page": {
                    "N": "1"
                  }
                }
              },
              "srini": {
                "S": "srini"
              }
            }   ],   "ScannedCount": 1 
}

I am trying to retrieve in the JSON format so that web client takes the table from Dynamo in JSON format .The mapping template I am trying to write is as follows 我正在尝试以JSON格式进行检索,以便Web客户端从JSON以Dynamo的形式获取表。我尝试编写的映射模板如下

#set($inputRoot = $input.path('$'))
{
        #foreach($elem in $inputRoot.Items) {
                "srini": "$elem.srini.S",
                "pages": "$elem.photos.pages.S",

                 #foreach($elemnext in $elem.photos.photo) {
                     "id": "$elemnext.id.S"

                }#if($foreach.hasNext),#end
               #end

            }#if($foreach.hasNext),#end
        #end

}

I only can retrieve srini as show below 我只能检索srini,如下所示

Response Body
{
         {
                "srini": "srini",
                "pages": ""
                             }            
}

All other data is not retreived ,What is the right way to write mapping template ,Can any one let me know please? 不检索其他所有数据,编写映射模板的正确方法是什么,请让我知道吗?

#set($inputRoot = $input.path('$'))
{
        #foreach($elem in $inputRoot.Items) {
                "srini": "$elem.srini.S",
                "pages": "$elem.photos.M.pages.S",
                 #foreach($elemnext in $elem.photos.M.photo.L)
                 {
                    "id": "$elemnext.M.id.S"
                 } #if($foreach.hasNext),#end
                #end

            }#if($foreach.hasNext),#end
        #end

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM