我的 AWS lambda 代码总是收到 500 响应有什么问题

问题描述 投票:0回答:1

在此代码片段中,我尝试从具有partitionKey作为messageId的表中获取一个项目

case "GET /items/{messageId}":
        const { messageId } = event.pathParameters;
        body = await dynamo.send(
          new GetCommand({
            TableName: tableName,
            Key: {
              'messageId': messageId,
            },
          })
        );
        body = body.Items;
        break;

总是收到 500 内部错误响应。其他电话工作

我希望根据partitionKey(即messageId)获取特定项目。

我试图调用的API /items/66746629-7220-46fb-a8d4-7059fbf0991f

amazon-web-services aws-lambda amazon-dynamodb
1个回答
0
投票

您不是从 DynamoDB 获得 500,而是从 Lambda 获得并返回到 APIGW。

您的问题是由您如何向 APIGW 发送响应引起的,您应该使用 try/ except 处理代码上的所有场景,并向 APIGW 返回它可以理解的响应。

这是节点中响应的示例

© www.soinside.com 2019 - 2024. All rights reserved.