我有一个包含多个文件的NodeJS AWS Lambda函数。在index.js中,我执行常规的exports.handler = function (event,context) {…}
。访问其他文件中的Lambda上下文对象
我也有处理各种设置和module.exports配置对象一个config.js文件。此配置文件在其他几个需要访问这些设置(默认值,数据库设置等)的文件中是必需的。我不一定需要在index.js中使用它。
然而,我需要根据lambda函数(例如要使用的DynamoDB表后缀)的别名设置config模块内的一些设置。虽然在exports.handler中通过context.invokedFunctionArn
(在我的情况下是PROD或STAGE)取得别名是没有问题的,但我无法在我的配置文件中访问它(这是遍布全球的必需)。
什么是做在我的配置模块提供的上下文对象的最佳方式,我会怎么做,而不会在循环依赖(因为它之前需要exports.handler结束)?
内exports.handler从多个文件所有需要执行配置了大量的异步代码。他们都需要知道哪个别名正在运行。
的问题已经不再是如何使用的别名,但更多的是如何使在其他文件中提供的上下文对象。
谢谢!
在处理函数被调用之前,上下文对象永远不可用。您需要等到处理函数被调用后才能执行任何需要来自上下文对象的数据。 –