AWS lambda javascript IAM角色

时间:2019-02-22 18:22:09

标签: node.js amazon-web-services aws-lambda

根据AWS Lambda文档,用Node编写的Lambda函数将使用分配给该函数的IAM角色的凭证。用Python编写的函数也是如此。我在Node中编写了一个函数,但它得到了未授权的错误。使用相同配置的Python中相同的函数可以工作。在这两种情况下,我都使用官方的AWS开发工具包。

它在Python中而不是在Node中工作的事实告诉我这不是配置问题。如果将硬代码凭据放入Node函数中,则它可以工作,所以我知道函数逻辑可以工作。

有什么想法吗?

现在可以使用的代码(但昨天没有!)

// Load the AWS SDK for Node.js
const AWS = require('aws-sdk');



exports.handler = async (event) => {
        const EC2 = new AWS.EC2();
        var instanceId = "i-xxxxxxxxxxx";
        var params = {
            InstanceIds: [instanceId], 
            DryRun: false
        };
        var response = {
            status: 200
        };
        try {
            const startInstance = await EC2.startInstances(params, function(err, data) {
                if (err) {
                    console.log("error: " + err.code);
                    response.status = 403;
                    response.error = err.code;
                } else if (data) {
                    console.log(data);
                    response.instanceInfo = data;
                }
            }).promise();
        } catch(err) {
            console.log(err.code);
        }
        return response;
};


0 个答案:

没有答案