- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个非常简单的 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。
最佳答案
为了解决这个问题,我只是删除了自定义 VPC 设置,因为该函数只是试图访问 AWS Opsworks API。还在文档中注意到这一点:
When you enable VPC, your Lambda function will lose default internet access. If you require external internet access for your function, ensure that your security group allows outbound connections and that your VPC has a NAT gateway.
由于 Lambda 将 SDK 捆绑在函数内部可用,并且访问权限由 IAM 策略决定,因此您仍然需要从外部访问互联网才能使用 API,这有点令人困惑。
关于amazon-web-services - 如何在 AWS Lambda 中运行 AWS SDK Opsworks 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39400017/
我是一名优秀的程序员,十分优秀!