У меня есть лямбда-aws, которую я использую для отключения облачных часов AWS. Это прекрасно работает, когда я не использую пользовательские модули, когда я пытался использовать пользовательские модули, я получаю неопределенное значение для переменной, которая мне нужна в другом модуле. Что я делаю не так? var myRuleparams теперь не определен
Я не поместил весь код просто фрагмент, чтобы было легко понять
вот index.js, который работает
let AWS = require("aws-sdk");
const cloudwatchevents = new AWS.CloudWatchEvents({region: 'us-east-1'});
//var cloudrule = require('./cloudrule');
exports.handler = (event, context, callback) => {
let myRule;
const er = event.resources ;
//miRule is the name of the CloudWatchEventRule that started the lambda
myRule = er[0].slice(43);
var myRuleparams = { Name: myRule };
var rulePromise = cloudwatchevents.disableRule(myRuleparams).promise();
rulePromise.then(
function(data) {
console.log("cloudwatchevent has been disabled");
console.log(data);
}).catch(
function(err) {
console.error(err);
//this works
// more code
вот index.js с пользовательским модулем cloudrule.js, который не работает
index.js
let AWS = require("aws-sdk");
const cloudwatchevents = new AWS.CloudWatchEvents({region: 'us-east-1'});
var cloudrule = require('./cloudrule');
exports.handler = (event, context, callback) => {
let myRule;
const er = event.resources;
//miRule is the name of the CloudWatchEventRule that started the lambda
myRule = er[0].slice(43);
var myRuleparams = { Name: myRule };
// here under custom module with functions and passing Variable myRuleparams
cloudrule.disableCloudWatchRuler(myRuleparams);
//more code
вот это cloudrule.js
let AWS = require("aws-sdk");
const cloudwatchevents = new AWS.CloudWatchEvents({region: 'us-east-1'});
module.exports = {
disableCloudWatchRuler: function(myRuleparams) {
var rulePromise = cloudwatchevents.disableRule(myRuleparams).promise();
rulePromise.then(
function(data) {
console.log("cloudwatchevent has been disabled");
console.log(data);
}).catch(
function(err) {
console.error(err);
});
}
};