Моя цель здесь - иметь возможность использовать функцию AWS CloudWatchLogs.startQuery
из функции обработчика моей AWS Lambda.Этот метод существует, когда я запускаю его локально через nodejs, но он не определен, когда я запускаю в своем обработчике.Я думаю, что я делаю то же самое в обоих местах, но я получаю разные результаты.Для сравнения, я могу увидеть метод filterLogEvents
в обоих местах, как я и ожидал.Оба метода описаны в AWS javascript SDK .Почему я не вижу эту функцию внутри моей лямбды?
Мой код nodejs:
var AWS = require('aws-sdk');
AWS.config.loadFromPath('./aws_credentials.json');
AWS.config.update({
region: 'us-east-1',
apiVersion: '2014-03-28'
});
var cloudwatchlogs = new AWS.CloudWatchLogs();
var filterlogevents_type = typeof cloudwatchlogs.filterLogEvents;
var startquery_type = typeof cloudwatchlogs.startQuery;
console.log(startquery_type); // function
console.log(filterlogevents_type); // function
Из файла index.js моей лямбды:
var AWS = require('aws-sdk');
AWS.config.update({
region: 'us-east-1',
apiVersion: '2014-03-28'
});
exports.handler = async (event) => {
var cloudwatchlogs = new AWS.CloudWatchLogs();
var filterlogevents_type = typeof cloudwatchlogs.filterLogEvents;
var startquery_type = typeof cloudwatchlogs.startQuery;
const response = {
body: JSON.stringify({
startQuery: startquery_type, // undefined
filterLogEvents: filterlogevents_type // function
}),
};
return response;
};