AWS Lambda cloudWatch.getMetricWidgetImage不是函数

时间:2018-10-26 18:37:43

标签: amazon-web-services aws-lambda

我目前正在尝试从Lambda函数调用相对较新的CloudWatch API getMetricWidgetImage,但是我不断收到错误消息:TypeError: cloudWatch.getMetricWidgetImage is not a function

该功能使用的是Node.js 8.10,我正在从Web控制台进行部署/测试,代码如下。

const AWS = require('aws-sdk');
let cloudWatch = tempCredentials ? new AWS.CloudWatch({credentials:tempCredentials, region: 'us-east-1', apiVersion: 'latest'}) : new AWS.CloudWatch({region: 'us-east-1', apiVersion: 'latest'});

console.log(cloudWatch);

cloudWatch.getMetricWidgetImage(widgetDefinition, function (err, data) {
if (err) console.log(err, err.stack); // an error occurred
else {
    console.log(data.MetricWidgetImage);
    var response = {
        statusCode: 200,
        headers: {
            'Content-Type' : 'image/png',
            'Access-Control-Allow-Origin' : '*',
            'Access-Control-Allow-Methods' : 'POST, GET, PUT, OPTIONS',
            'Access-Control-Allow-Headers' : 'x-api-key'
        },
        body: new Buffer(data.MetricWidgetImage).toString('base64')
    };
    callback(err, response);
}
});

1 个答案:

答案 0 :(得分:2)

您能说明一下如何部署lambda函数吗?

如果您不小心包含了aws-sdk版本(而不是在容器中使用Amazon已经提供的最新版本),则会发生这种情况。

getMetricWidgetImage函数仅在2.318(9月底; change log)中添加。因此,您本地拥有的任何缓存版本都可能落后于此。