什么时候在服务器应用程序中创建dynamodb连接的时候?

时间:2018-02-05 21:29:27

标签: amazon-dynamodb

假设您正在使用express和传入请求开发服务器端应用程序,您必须访问DynamoDb并检索某些内容。问题是,何时是实例化DynamoDb连接的正确时间:

const dynamodb = new AWS.DynamoDB({
  region: process.env.AWS_DEFAULT_REGION,
});
const docClient = new AWS.DynamoDB.DocumentClient({ service: dynamodb });

我是否应该为所有API处理程序执行此操作,还是应该为每个传入请求创建新连接?

1 个答案:

答案 0 :(得分:2)

作为最佳做法,建议在函数外部声明DocumentClient。但请注意,DocumentClient不是数据库连接对象。 DocumentClient只是AWS.DynamoDB命名空间中的抽象。文档客户端抽象使用AWS SDK for JavaScript更轻松地读取和写入数据到Amazon DynamoDB。

与RDBMS连接不同,不需要维护连接或连接池以连接到DynamoDB数据库。

  

DynamoDB是一种Web服务,与它的交互是无状态的。   应用程序不需要维护持久的网络连接。   相反,使用HTTP(S)请求和DynamoDB进行交互   响应。

     

新的AWS.DynamoDB(options = {})⇒对象

服务对象AWS.DynamoDB使用异步请求将数据发送到DynamoDB。 DocumentClient也在内部使用此服务对象。

默认情况下,SDK会向DynamoDB发送异步HTTP请求。但是,您可以通过将属性httpOptions.xhrAsync设置为false来更改默认行为。