我有一个非常简单的Lambda函数,试图使用AWS SDK调用opsworks.describeInstances。代码在本地执行得很好,但是在Lambda内部,它超时而没有任何错误或反馈。
var AWS = require('aws-sdk');
var opsworks = new AWS.OpsWorks({
apiVersion: 'latest',
region: "us-east-1"
});
exports.handler = function(event, context, callback) {
var params = {
LayerId: 'idoflayer'
};
opsworks.describeInstances(params, function(err, data) {
if (err) {
return callback(err);
}
callback(null, data);
});
};
Lambda策略是:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"opsworks:CreateDeployment",
"opsworks:DescribeDeployments",
"opsworks:DescribeLayers",
"opsworks:DescribeInstances"
],
"Resource": [
"*"
]
}
]
}
我已经增加了内存和超时时间。日志只显示函数被调用,没有输出。Lambda函数的监控显示有调用错误,但我认为这只是由于超时引起的。我在us-west-2中运行它,但我也尝试在us-east-1中运行它,结果相同。
有什么想法吗?我很想使用lambda来监视和管理OpsWorks。