Aws lambda AWS Lambda函数在手动调用时工作正常,但不能通过端点调用
我有一个Lambda函数,连接到API网关端点,它列出了DynamoDB中ID下的项 我已经使用无服务器框架构建了我的函数。当我在本地调用函数时,无服务器调用本地。。。它很好用。当我在AWS Lambda控制台上手动测试它时,它工作正常,但当我从API网关调用它时,它就不工作了 它被配置为使用这个有效负载:我用于测试的内容Aws lambda AWS Lambda函数在手动调用时工作正常,但不能通过端点调用,aws-lambda,amazon-dynamodb,aws-api-gateway,aws-amplify,Aws Lambda,Amazon Dynamodb,Aws Api Gateway,Aws Amplify,我有一个Lambda函数,连接到API网关端点,它列出了DynamoDB中ID下的项 我已经使用无服务器框架构建了我的函数。当我在本地调用函数时,无服务器调用本地。。。它很好用。当我在AWS Lambda控制台上手动测试它时,它工作正常,但当我从API网关调用它时,它就不工作了 它被配置为使用这个有效负载:我用于测试的内容 { "requestContext": { "identity": { "cognitoIdentityId": "46864
{
"requestContext": {
"identity": {
"cognitoIdentityId": "468648c5-b135-4075-910a-8a648d66e67d"
}
}
}
在我的应用程序中,我使用aws放大软件包。我这样称呼端点:
data = await API.get('endpoint-name', '/endpoint', {
body: {
requestContext: {
cognitoIdentityId: '468648c5-b135-4075-910a-8a648d66e67d'
}
}
});
这里,我得到一个403错误。如果我在没有额外数据的情况下调用它,即:
data = await API.get('endpoint-name', '/endpoint');
我得到一个空列表[],但没有错误。aws放大是否自动填充cognitoIdentityId字段?我正在学习教程,他们对这一点进行了润色
我还设置了CloudWatch,但我看不到任何令人讨厌的东西。关于如何修复/调试此问题有何想法
干杯 啊-我想我解决了 我将端点配置为从GET请求主体获取参数,但是我认为aws amplify或API网关在执行GET时不支持请求主体。我通过手动测试API网关注意到了这一点,我以前没有这样做过,并且声明GET方法不支持请求体 因此,我认为我必须在URL本身中传递参数。我认为HTTP中的GET方法在定义上不包括主体。