我想从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
在Promise上。
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
导出的函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句