the*_*uck 7 amazon-web-services amazon-cloudwatch aws-lambda
我试图让AWS Lambda函数在新图像被推送到AWS容器注册表时运行.我创建并测试了功能正常的功能.然后,我创建了一个简单的CloudWatch事件规则,其中包含以下模式:
{
"source": [
"aws.ecr"
]
}
Run Code Online (Sandbox Code Playgroud)
我认为这将引发ECR的任何事件.
该规则具有lambda函数的目标.问题是当新图像被推送到注册表(或删除等)时,不会调用该函数.CloudWatch日志中没有显示该功能.事件规则中是否缺少某些内容或诊断可能出错的方法?
CloudTrail记录PutImage事件,并可将其写入CloudWatch Logs.只要PutImage在CloudWatch Logs中写入事件,就可以触发警报,这可以通过SNS进一步触发Lambda函数.
您将创建一个Logs Metric Filter,就像这样.
{ ($.eventSource = ecr.amazonaws.com) && ($.eventName = PutImage) && ($.requestParameters.repositoryName = “<RepoName>”) && ($.errorCode NOT EXISTS) }
Run Code Online (Sandbox Code Playgroud)
要么
您需要配置ECR CloudTrail API调用事件.
{
"source": [
"aws.ecr"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"ecr.amazonaws.com"
]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2885 次 |
| 最近记录: |