DynamoDB API无服务器中的API



我正在使用无服务器框架来创建一个撰写和读取DynamoDB数据的应用程序。我遵循他们的官方文档,并在Github上研究其他示例。

据我了解,服务器在引擎盖下使用了nodejs的AWS SDK。

我注意到DynamoDB API在无服务器和官方AWS SDK中的差异。

  1. 方法名称。它们是不同的:在官方的AWS SDK文档中,有一个getItem方法(文档的链接(,而在Serveless中,get方法在各处使用(链接(。

  2. 参数定义:

根据官方文档,我需要使用以下约定来创建参数:

var params = {
  Key: {
    UserId: {
      S: '123456'
    }
  },
  TableName: 'Users'
};
dynamodb.getItem(params, function(err, data) {
   ...
})

但是,无服务器显示了另一种方法:

const params = {
  Key: {
    UserId: '123456'
  },
  TableName: 'Users'
}
dynamoDb.get(params, (error, result) => {}

问题:有人可以解释区别,为什么?这有点令人困惑,很难理解要遵循的惯例。谢谢!

经过几个小时的研究,我发现了原因。

无服务器文档中显示的所有示例都使用特定类DocumentClient,通过省略DynamoDB Datatypes来简化JavaScript世界中的开发。

他们接受的方法和参数也不同,因此可以在不指定数据类型的情况下发送/检索数据。但是,最终,DynamoDB仍然需要类型,但是所有转换都在幕后发生。

相关内容

  • 没有找到相关文章

最新更新