我有一個包含多個文件的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從多個文件所有需要執行配置了大量的異步代碼。他們都需要知道哪個別名正在運行。
的問題已經不再是如何使用的別名,但更多的是如何使在其他文件中提供的上下文對象。
謝謝!
在處理函數被調用之前,上下文對象永遠不可用。您需要等到處理函數被調用後才能執行任何需要來自上下文對象的數據。 –