gpt4 book ai didi

amazon-web-services - 如何在 AWS Lambda 中运行 AWS SDK Opsworks 命令?

转载 作者:行者123 更新时间:2023-12-04 08:04:54 25 4
gpt4 key购买 nike

我有一个非常简单的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com