Cloudwatch 事件规则侦听具有特定键路径的 s3 存储桶
Cloudwatch event rule listen to s3 bucket with specific keypath
有没有办法收听 s3 存储桶,但只能在特定的 "folder" 内收听,例如,如果我有一个名为 input 的文件夹,我会说收听 "s3://bucket-name/folder1/*"?
现在好像只能听整个bucket.My issue就是我想用同一个bucket根据特定的key path去触发CloudWatch,当然会触发所有的cloudwatch规则。
这是我的流程:
CloudTrail (monitor s3://bucket/path) -> CloudWatch(将为该 s3://bucket/path 中的任何 PUT 设置事件规则)trigger-> StepFunction-> LambdaFunctions
我还尝试限制 CloudWatch 角色的权限,以便仅向特定的 S3 存储桶路径授予权限,但运气不佳。
这是我的活动规则:
{ "source": [ "aws.s3" ], "detail-type": [ "AWS API Call via CloudTrail" ], "detail": { "eventSource": [ "s3.amazonaws.com" ], "eventName": [ "PutObject" ], "requestParameters": { "bucketName": [ " bucketname" ] } } }
有什么解决方法吗?
尝试添加
"requestParameters": { "bucketName": [ " bucketname" ],"key":["folder1"] }
可能是工作。
截至撰写本文之日,我目前还不知道有什么方法可以按照规则完成。该规则可能有解决方法,但我还没有找到...
...然而:
这可以通过使用 CloudTrail
.
来完成
- 从您拥有的事件规则对象中删除密钥,并保留存储桶名称
- 转到 CloudTrail。如果所有数据事件都已打开,请禁用它们并创建您自己的轨迹。
- 在 CloudTrail 中,创建一个新的 Trail。指定对象或桶级操作
- 启用 S3 数据事件 - 假设您想监听 putObject 或类似事件
- 指定您的存储桶,当它显示 Individual bucket selection 时,输入存储桶名称和您要监控的路径。
bucketname/folder1/folder2
- 指定是否要将读取和写入操作记录到跟踪中。
现在您只有该路径的日志记录。 cloudwatch 规则或 eventBridge 规则现在可以指定存储桶以及您要监控的任何操作。
有没有办法收听 s3 存储桶,但只能在特定的 "folder" 内收听,例如,如果我有一个名为 input 的文件夹,我会说收听 "s3://bucket-name/folder1/*"? 现在好像只能听整个bucket.My issue就是我想用同一个bucket根据特定的key path去触发CloudWatch,当然会触发所有的cloudwatch规则。 这是我的流程: CloudTrail (monitor s3://bucket/path) -> CloudWatch(将为该 s3://bucket/path 中的任何 PUT 设置事件规则)trigger-> StepFunction-> LambdaFunctions 我还尝试限制 CloudWatch 角色的权限,以便仅向特定的 S3 存储桶路径授予权限,但运气不佳。 这是我的活动规则:
{ "source": [ "aws.s3" ], "detail-type": [ "AWS API Call via CloudTrail" ], "detail": { "eventSource": [ "s3.amazonaws.com" ], "eventName": [ "PutObject" ], "requestParameters": { "bucketName": [ " bucketname" ] } } }
有什么解决方法吗?
尝试添加
"requestParameters": { "bucketName": [ " bucketname" ],"key":["folder1"] }
可能是工作。
截至撰写本文之日,我目前还不知道有什么方法可以按照规则完成。该规则可能有解决方法,但我还没有找到...
...然而:
这可以通过使用 CloudTrail
.
- 从您拥有的事件规则对象中删除密钥,并保留存储桶名称
- 转到 CloudTrail。如果所有数据事件都已打开,请禁用它们并创建您自己的轨迹。
- 在 CloudTrail 中,创建一个新的 Trail。指定对象或桶级操作
- 启用 S3 数据事件 - 假设您想监听 putObject 或类似事件
- 指定您的存储桶,当它显示 Individual bucket selection 时,输入存储桶名称和您要监控的路径。
bucketname/folder1/folder2
- 指定是否要将读取和写入操作记录到跟踪中。
现在您只有该路径的日志记录。 cloudwatch 规则或 eventBridge 规则现在可以指定存储桶以及您要监控的任何操作。