Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
API网关公开DynamoDB(需要复杂的映射模板或Lambda函数?)_Api_Amazon Web Services_Gateway - Fatal编程技术网

API网关公开DynamoDB(需要复杂的映射模板或Lambda函数?)

API网关公开DynamoDB(需要复杂的映射模板或Lambda函数?),api,amazon-web-services,gateway,Api,Amazon Web Services,Gateway,我正在通过AWS API网关公开我的DDB。我让它工作,但当我通过我的“PUT”时,它要求我在body请求中包含DDB中的每个字段。有些客户可能只想在我的DDB中发布10个字段中的5个字段。这是作为帖子还是补丁来完成的?如果是这样的话,我的映射模板在这些方面是什么样子的 第二:我想在DDB中的每个条目中添加一个自动生成的订单号。因此,现在每个PUT或POST都将有一个唯一的订单号。因此,我的主键是一个变量,次键是一个客户sku号,反之亦然 谢谢您的帮助。正文模板:我仍然需要它来生成“订单号” 为

我正在通过AWS API网关公开我的DDB。我让它工作,但当我通过我的“PUT”时,它要求我在body请求中包含DDB中的每个字段。有些客户可能只想在我的DDB中发布10个字段中的5个字段。这是作为帖子还是补丁来完成的?如果是这样的话,我的映射模板在这些方面是什么样子的

第二:我想在DDB中的每个条目中添加一个自动生成的订单号。因此,现在每个PUT或POST都将有一个唯一的订单号。因此,我的主键是一个变量,次键是一个客户sku号,反之亦然


谢谢您的帮助。

正文模板:我仍然需要它来生成“订单号” 为每个新条目自动创建

#set($inputSep = $input.path('$')) 
#set($thisLoop = 
'{"CustomerNm":"1","ShipDate":"2","Shipping":"3","commentId":"4"}')
#set($myPlaces = $util.parseJson($thisLoop))
#set($allKeys = '')
#set($myVals = '"')
{ 
"TableName": "BRPI",
"Key": {
    "CustomerID": {
        "S": "$input.path('$.CustomerID')"
    }
},
#foreach($type in $inputSep.keySet())
#if($type == "CustomerID")
#else
    #set($thisPlace = $myPlaces.get($type))
    #set($params = $inputSep.get($type))
    #set($thisKey = "$type" + " = :val" + "$thisPlace")
    #set($thisPath = "$params")
    #if($foreach.hasNext)
        #set($myComma = ",")
        #set($myReturn = '"')
    #else
        #set($myComma = "")
        #set($myReturn = "")
    #end
    #set($allKeys = "$allKeys" + "$thisKey" + "$myComma")
    #set($myVals = "$myVals" + ":val" + "$thisPlace" + '": {"S": "' + 
"$thisPath" + '"}' + "$myComma" + "$myReturn")
#end
#end
"UpdateExpression": "SET $allKeys",
"ExpressionAttributeValues": {
    $myVals
},
"ReturnValues":"UPDATED_NEW"
}

正文模板:我仍然需要它来生成“订单号” 为每个新条目自动创建

#set($inputSep = $input.path('$')) 
#set($thisLoop = 
'{"CustomerNm":"1","ShipDate":"2","Shipping":"3","commentId":"4"}')
#set($myPlaces = $util.parseJson($thisLoop))
#set($allKeys = '')
#set($myVals = '"')
{ 
"TableName": "BRPI",
"Key": {
    "CustomerID": {
        "S": "$input.path('$.CustomerID')"
    }
},
#foreach($type in $inputSep.keySet())
#if($type == "CustomerID")
#else
    #set($thisPlace = $myPlaces.get($type))
    #set($params = $inputSep.get($type))
    #set($thisKey = "$type" + " = :val" + "$thisPlace")
    #set($thisPath = "$params")
    #if($foreach.hasNext)
        #set($myComma = ",")
        #set($myReturn = '"')
    #else
        #set($myComma = "")
        #set($myReturn = "")
    #end
    #set($allKeys = "$allKeys" + "$thisKey" + "$myComma")
    #set($myVals = "$myVals" + ":val" + "$thisPlace" + '": {"S": "' + 
"$thisPath" + '"}' + "$myComma" + "$myReturn")
#end
#end
"UpdateExpression": "SET $allKeys",
"ExpressionAttributeValues": {
    $myVals
},
"ReturnValues":"UPDATED_NEW"
}