0

我正在尝试创建一个亚马逊 cloudWatch 规则,该规则在将对象上传到存储桶时触发。我知道要做到这一点,我需要在 PutObject 事件上触发,但最好我能说这需要在存储桶上启用对象级别的日志记录。我将使用大量存储桶并希望能够自动化该过程,并且由于大多数系统是如何使用 boto3 设置的,这似乎是最有意义的。那么如何使用 boto3 打开对象级日志记录呢?

到目前为止,我能找到的唯一 AWS 官方资源是:如何使用 AWS CloudTrail 数据事件为 S3 存储桶启用对象级日志记录?

其中解释了如何通过 GUI 启用对象级日志记录。我还查看了boto3 库文档

根据我的理解,两者最终都没有帮助。

我的主要目标是通过 boto3 启用对象级日志记录,如果可以的话。

4

2 回答 2

0

您可以配置 Amazon S3 事件,以便在创建新对象时:

  • 触发AWS Lambda 函数
  • 将消息放入Amazon SQS 队列
  • 向Amazon SNS 主题发送消息

请参阅:配置 Amazon S3 事件通知

于 2019-07-29T22:27:15.303 回答
0

您可以在 CloudTrail 服务中使用put_event_selectors()函数。

client = boto3.client('s3')
client.put_event_selectors(
TrailName='TrailName',
EventSelectors=[
    {
        'ReadWriteType': 'All',
        'IncludeManagementEvents': True,
        'DataResources': [
            {
                'Type': 'AWS::S3::Object',
                'Values': [
                    'arn:aws:s3:::your_bucket_name/',
                ]
            },
        ]            
    },
])
于 2020-07-31T22:57:54.943 回答