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

时间:2019-11-26 06:06:18

标签: node.js aws-lambda amazon-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)
        }
    })
};

1 个答案:

答案 0 :(得分:1)

由于您的功能已经是state = $(this).closest('.form-group').next('.userInfo').data("state");,因此您无需使用旧的过时的async方法。

AWS开发工具包方法提供了一种callback方法,您可以将其附加到每个AWS异步调用中,并且使用.promise(),您可以简单地在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。仔细检查您的Lambda处理程序是否已在函数本身上正确配置,其中module.exports.getUsers = async event...代表index.getUsers是文件名(index),而index.js代表导出的函数。