DynamoDB Data Mapper, SDK v3 兼容性问题

0

【以下的问题经过翻译处理】 有人知道 AWS Labs Datamapper 是否与 @aws-sdk/client-dynamodb 兼容吗?当我尝试执行 mapper.scan() 时, 例如:

"errorMessage": "this.client.scan(...).promise is not a function",

就好像它正在寻找一个 .promise() 方法,当 client.scan() 已经返回一个 promise 时。引起这个问题的调用点是ScanPaginator.ts#L27

this.client = new DynamoDB({});
this.mapper = new DataMapper({
    client: this.client
})

我认为这种混乱的原因可能是 dynamodb-data-mapper 是为 aws-sdk 2.7 设计的,从未更新到 v3。我找到了一些非常旧的文档,解释了发生了什么:

默认情况下,AWS SDK for JavaScript 将检查全局定义的 Promise 函数。如果找到了,它将在 AWS.Request 对象上添加 promise() 方法。

因此,我认为所有这些的要点是尝试使 scan() 异步,即使在 v3 中它已经是异步的了。由于这是 typescript,有人能想到解决方法吗?也许扩展 v3 DynamoDB 客户端以添加一个不做任何操作的 .promise() 方法?

profile picture
전문가
질문됨 8달 전45회 조회
1개 답변
0

【以下的回答经过翻译处理】 dynamodb-data-mapper-js包已经多年没有更新,如果您打算使用JS V3,则强烈建议不要依赖它。

profile picture
전문가
답변함 8달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인