You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中使用async await操作AWS DynamoDB及写入异常排查

问题解决方法

核心原因

AWS SDK v2的DynamoDB DocumentClient操作方法(比如put、get、query等)直接调用时返回的是AWS.Request对象,不是原生Promise,必须链式调用.promise()方法才能将其转为可await的Promise对象,触发实际的请求执行。你之前的代码只是创建了请求实例,没有真正发送请求到DynamoDB,所以既没有报错也没有数据写入。

修正后的代码

const create = async (docClient,payload,tableName) =>{
    try {
        console.log(payload);
        // 补充调用.promise()方法触发请求
        const createdDoc = await docClient.put({TableName:tableName,Item:payload}).promise()
        console.log(createdDoc);
        return createdDoc
    } catch (error) {
       console.log('写入错误:', error); 
       throw error
    }
}
        
create(docClient,{"task":"sample"},"todos")

额外排查项

  • 确认DynamoDB表todos的主键名是task,且字段类型和写入的值匹配,否则会返回参数校验错误
  • 确认配置的accessKey、secretKey拥有该表的dynamodb:PutItem权限
  • 确认region和endpoint配置和你实际的DynamoDB表所在区域一致

内容的提问来源于stack exchange,提问作者Saurabh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:09:04