DynamoDB JavaScript v3 API的GetItemCommand操作引发未知异常。

0

【以下的问题经过翻译处理】 我正在尝试使用JavaScript v3 API在nodejs lambda中从DynamoDB中检索单个项目。我得到了UnknownOperationException错误。这是我传递给GetItemCommand的参数对象:

{
    "TableName": "test_biblestudy_tools_user",
    "Key": {
        "userid": {
            "S": "06f4dc4b-3368-4277-9dbe-892edec668c6"
        }
    },
    "ProjectionExpression": "email"
}

该lambda的执行角色具有对该表的GetItem权限。

我想做的一件事是在这个过程中启用HTTP线路跟踪,但我没有看到如何在使用JavaScript v3 API时执行该操作的任何示例。现在我正在配置的只是区域,我不知道如何配置其他任何东西:

import { DynamoDBClient, GetItemCommand, TransactWriteItemsCommand } from '@aws-sdk/client-dynamodb';
const db_client = new DynamoDBClient({ region: 'us-east-1' });

我该如何为此客户端配置http线路跟踪?那是否可能向我显示有用的信息?我尝试过CloudTrail数据平面事件日志记录,但失败的调用不会创建日志。

以下是来自CloudWatch日志的完整错误消息:

UnknownOperationException: UnknownError
      at throwDefaultError (/var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/smithy-client/dist-cjs/default-error-handler.js:8:22)
      at deserializeAws_json1_0GetItemCommandError (/var/task/node_modules/@aws-sdk/client-dynamodb/dist-cjs/protocols/Aws_json1_0.js:1740:51)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async /var/task/node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24
      at async StandardRetryStrategy.retry (/var/task/node_modules/@aws-sdk/middleware-retry/dist-cjs/StandardRetryStrategy.js:51:46)
      at async /var/task/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:6:22
      at async Runtime.handler (file:///var/task/index.js:139:23) {
    '$fault': 'client',
    '$metadata': {
      httpStatusCode: 400,
      requestId: 'c688c34f-7c64-4d9a-9eb4-3258ee5aecf6',
      extendedRequestId: undefined,
      cfId: undefined,
      attempts: 1,
      totalRetryDelay: 0
    },
    __type: 'com.amazon.coral.service#UnknownOperationException'
  }```
profile picture
专家
已提问 5 个月前16 查看次数
1 回答
0

【以下的回答经过翻译处理】 我发现了我的错误。我使用一个从不同的服务实例化的客户端调用了client.send(new GetItemCommand(...))!这就解释了UnknownOperationException的原因。感谢你要求我发布我正在运行的整个代码片段。这帮助我发现了错误。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则