【以下的问题经过翻译处理】 你好,
我正在按照 本指南 在发电机数据库表前创建测试 REST api gw。
虽然 POST 调用测试有效,但当我尝试 GET 检索用户名时,我总是得到 404
Fri Feb 11 07:17:40 UTC 2022 : Endpoint request URI: https://dynamodb.us-east-1.amazonaws.com/?Action=Query
Fri Feb 11 07:17:40 UTC 2022 : Endpoint request headers: {Authorization=****************************************************************************************************************************************************************************************************************************************************************************************82e823, X-Amz-Date=20220211T071740Z, x-amzn-apigateway-api-id=2xxp28f39k, Accept=application/json, User-Agent=AmazonAPIGateway_2xxp28f39k, X-Amz-Security-Token=xxxxx
Fri Feb 11 07:17:40 UTC 2022 : Endpoint request body after transformations: {
"TableName": "users",
"IndexName": "username-index",
"KeyConditionExpression": "username = :val",
"ExpressionAttributeValues": {
":val": {
"S": "ABE"
}
}
}
Fri Feb 11 07:17:40 UTC 2022 : Sending request to https://dynamodb.us-east-1.amazonaws.com/?Action=Query
Fri Feb 11 07:17:40 UTC 2022 : Received response. Status: 404, Integration latency: 2 ms
这是我的 GET 集成请求应用程序/json 映射模板
{
"TableName": "users",
"IndexName": "username-index",
"KeyConditionExpression": "username = :val",
"ExpressionAttributeValues": {
":val": {
"S": "$input.params('username')"
}
}
}
如果我在 dynamodb 上测试查询,是正常工作的:
aws dynamodb query \
--table-name $tablename \
--index-name $indexname \
--key-condition-expression "username = :v1" \
--expression-attribute-values file://expression-attributes.json \
--select ALL_PROJECTED_ATTRIBUTES \
--return-consumed-capacity INDEXES
其中 file://expression-attributes.json
{
":v1": {"S": "ABE"}
}
gives
{ "Items": [ { "realname": { "S": "xxxxx" }, "username": { "S": "ABE" }, "uid": { "S": "fc1d4fa5-6157-47c7-85a7-3953e477b396" } }