【以下的问题经过翻译处理】 我正在尝试使用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'
}```