amazon-web-services - Cloudwatch:用于监控 S3 文件的事件类型语法
问题描述
每次我在 S3 中的文件更新/重新上传时,我都需要创建一个运行 lambda 函数的 cloudwatch 事件。我应该使用什么“eventName”?我尝试使用“ObjectCreated”,但它似乎不起作用。也许语法不正确。
https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
{
"source": [
"aws.s3"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"s3.amazonaws.com"
],
"eventName": [ "ObjectCreated:*"],
"requestParameters": {
"bucketName": [
"mynewbucket"
],
"key": [
"file.csv"
]
}
}
}
解决方案
CloudWatch Events(或 EventBridge)不会自动跟踪 S3 对象的数据事件。您需要为此使用 CloudTrail,它跟踪特定 S3 存储桶上的数据事件并为此发出 CloudWatch Events(或 EventBridge)事件:https ://aws.amazon.com/blogs/compute/using-dynamic-amazon- s3-event-handling-with-amazon-eventbridge/
或者,您可以将S3 事件通知与 SNS 主题一起使用,并在 SNS 主题上使用 Lambda 订阅。
推荐阅读
- powershell - 升级 Carbon Powershell DevOps 库会忽略导入模块的前缀选项
- java - JavaFX:在 ListView 中显示图像而不破坏选择模型
- testflight - 苹果更新后应用程序未显示在应用程序 Testflight 中
- html - jQuery - 在 HTML 字符串的元素内插入文本
- mysql - Codeigniter 中的 LEFT JOIN 显示语法错误
- java - ASM ByteCode 方法局部变量
- django - 如何在django中根据status=True排列数据
- css - Bootstrap 5 - 在网格显示中对齐内容
- reactjs - 当我从 Context 检索值时,我没有得到任何数据
- java - 如何在 Android Studio 的“短信内容提供者”中读取我自己发送的短信