带有 node.js/TypeScript 的 DynamoDB 文档客户端

问题描述

环境

我将使用 node.js/Typescript 构建 AWS Lambda 函数。 这些函数使用适用于 JS 的 AWS 开发工具包。

版本

  • node.js ... 12.21.0
  • 适用于 JS 的 AWS 开发工具包 ... 2.863.0

我想做什么

使用 DynamoDB 文档客户端,我将获取或保存实体。

我想问什么

不知AWS SDK for JS(for TypeScript)的类型定义是否与DynamoDB Document Client不匹配。

比如我目前遇到这种情况:

    export const documentClient: DocumentClient = new AWS.DynamoDB.DocumentClient(documentClientConfig)

    public static async findById (Id: string): Promise<PromiseResult<GetItemOutput,AWSError>> {
        const condition: GetItemInput = {
            TableName: table,Key: {
                'id': { S: id }
            }
        }
    
        return documentClient.get(condition).promise()
    }

查询条件 condition 的类型确实是 GetItemInput (似乎是对的),但是 documentClient#get 的参数类型似乎不匹配 {{1 }}。 实际上,该库定义了 GetItemInput 的类型,如下所示:

condition

如果上面的代码是对的,我们所有的js开发者都不能正常使用Document Client...? 我假设文档客户端为 DynamoDB 的某些操作提供了“语法指导”。

所以,我想问一下为什么上面的定义没有问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...