如何使用Python中的AWS-cdk在您的存储桶中发生某些事件时,如何设置Amazon S3通知以接收通知?当我使用下面的代码时,我可以设置订阅。但是,当文件上传到S3时,它不会向我发送电子邮件。当我在snS控制台中手动更新访问策略时,它可以工作,但是我不知道如何在cdk中实现它。我还附上了我要实现的snS访问策略,但我没有做到这一点。这是我的cdk代码段:
#snS
sf_topic = aws_sns.Topic(
self,"MyTopic",display_name="My Topic"
)
email=aws_sns_subscriptions.EmailSubscription("example@email.com")
sf_topic.add_subscription(subscription=email)
notification = aws_s3_notifications.snsDestination(sf_topic)
sf_bucket.add_event_notification(aws_s3.EventType.OBJECT_CREATED,notification)
{
"Version": "2008-10-17","Id": "example-ID","Statement": [
{
"Sid": "s3-event-notifier","Effect": "Allow","Principal": {
"Service": "s3.amazonaws.com"
},"action": [
"snS:Publish"
],"Resource": "<UPDATE-YOUR-snS-ARN-HERE>","Condition": {
"ArnLike": {
"aws:SourceArn": "arn:aws:s3:*:*:<UPDATE-YOUR-BUCKET-NAME-HERE>"
}
}
}
]
}