AWS Lambda日志记录错误

时间:2016-04-29 16:56:08

标签: amazon-web-services lambda aws-lambda amazon-cloudwatch

首先,我应该注意到我在AWS论坛上发布了这个问题。几天后没有回答。所以我决定迁移到stackoverflow。以下是我的问题的复制粘贴:

问候!昨天,我的lambda函数的Cloudwatch日志记录停止了工作。起初我以为这是由于我的代码发生了一些变化,但在返回到最新的工作版本(云计算日志记录应该正常工作)后,问题仍然存在。

我已经看过THIS线程,它讨论了这个问题,但修复工作并没有奏效。我编辑的政策文件如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
            "logs:CreateLogGroup",
            "logs:CreateLogStream",
            "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
            "s3:GetObject",
            "s3:PutObject"
            ],
            "Resource": [
            "arn:aws:s3:::*"
            ]
        }, 
        {
            "Sid" : "yaycloudwatchloggingherewego",
            "Effect": "Allow",
            "Action": [
            "logs:*"
            ],
            "Resource": [
            "arn:aws:logs:::*"
            ]
        }
    ]
}

我知道有一些裁员。我只是保留了默认的S3执行角色'策略并使用复制粘贴建议修复。

我还检查了aws资源状态页面HERE,并且所有服务都正常运行。

我的主要问题:我的代码需要解决这个问题,还是我需要修复一些更大的问题?

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:-2)

[编辑:替换了#34;我在AWS论坛中回复了,所以请看那里"答案。对不起,我当时是新来的。]

{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*", "Sid": "Logging" }, 的第一个元素替换为:

var map = new Map ([
    [1,  'foo'],  // default
    [2,  'bar'],
    [3,  'baz'],
]);

var mapProxy = new Proxy(map, {
    get: function(target, id) {
        return target.has(id) ? target.get(id) : target.get(1);
    },
});

console.log( mapProxy[3] );  // foo

我怀疑它是" arn:aws:logs ::: *"这不太正确,但可能是缺少的Sid。