最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

AWS LAMBDA动态DB交换Singelton(节点)

运维笔记admin15浏览0评论

AWS LAMBDA动态DB交换Singelton(节点)

AWS LAMBDA动态DB交换Singelton(节点)

我试图利用数据库连接复用的LAMBDA,通过保持代码的处理程序之外。

例如 - 是这样的:

import dbconnection from './connection'

const handler(event, context, callback){
    //use dbconnection 
}

问题是,我不决定什么连接到数据库,直到我做了查找,看看它们应该被连接。在我的我有“客户=富”的查询参数的具体情况,然后我可以看看地看到,FOO应该连接到数据库1。

因此,我需要做的是这样的:

    const dbconnection = require('./connection)('database1') 

事情是这样的,现在我需要做的这是昂贵的每一个处理程序方法。

有一些方法可以让我拉查询参数,查找我的数据库和LAMBDA执行上下文中设置/切换它在全球范围?

我已经试过这样:

import dbconnection from './connection'

const handler(event, context, callback){
    const client = dbconnection.setDatabase('database1') 
}

....
./connection.js

 setDatabase(database) {
      if(this.currentDatabase !== database) {
         // connect to different database
         this.currentDatabase = database; 
      }
 }

一切都在本地工作与sls offline但不通过AWS LAMBDA执行上下文工作。思考?

回答如下:

您可以硬编码(或通过环境变量提供的话)与否。如果可以的话,然后将其拉出的再处理每一次都不会被执行。如果你不能,因为你所提到的,那么你正在尝试做的是使拉姆达状态。 LAMBDA被设计为无状态和AWS故意不公开有关基础容器的具体信息,这样你就不会开始做这样的事情你正在尝试现在要做的 - 引入状态吧。

发布评论

评论列表(0)

  1. 暂无评论