创建 AWS Lambda 函数以从 IAM 获取用户



我想从 AWS IAM 获取用户详细信息,因此我创建了一个 lambda 函数,但响应代码 502 出现错误。我的代码如下。

var AWS = require('aws-sdk');
var iam = new AWS.IAM();
AWS.config.loadFromPath('./config.json');
let getUsers = async (event, callback) => {
var params = {
UserName: "5dc6f49d50498e2907f8ee69"
};
iam.getUser(params, (err, data) => {
if (err) {
callback(err)
} else {
console.log(data)
callback(data)
}
})
};

由于您的函数已经async因此您不需要使用旧的、过时的callback方法。

AWS开发工具包方法提供了一种.promise()方法,您可以将其附加到每个 AWS 异步调用中,并且通过async,您可以简单地await承诺。

var AWS = require('aws-sdk');
var iam = new AWS.IAM();
AWS.config.loadFromPath('./config.json');
let getUsers = async event => {
var params = {
UserName: "5dc6f49d50498e2907f8ee69"
};
const user = await iam.getUser(params).promise()
console.log(user)
};

希望您有一个调用此代码的处理程序,否则这将不起作用。 如果要导出getUsers作为处理程序函数,请确保先通过module.exports导出它。即:module.exports.getUsers = async event....仔细检查您的 Lambda 处理程序是否已在函数本身上正确配置,其中index.getUsers代表index文件名 (index.js( 并getUsers导出的函数。

相关内容

  • 没有找到相关文章

最新更新