首先,我应该注意到我在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,并且所有服务都正常运行。
我的主要问题:我的代码需要解决这个问题,还是我需要修复一些更大的问题?
任何帮助将不胜感激。谢谢!
答案 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。