shu*_*l92 3 amazon-s3 amazon-web-services aws-lambda
我想将AWS S3与AWS Lambda连接.我创建了我的s3桶并将其命名xyz.在我的AWS Lambda函数上创建事件源时,它显示以下错误
There was an error creating the event source mapping: Your bucket must be in the same region as the function.
Run Code Online (Sandbox Code Playgroud)
在浏览此链接时,我发现我需要为AWS Lambda函数设置s3存储桶的事件通知.但是我无法为s3存储桶设置事件通知,因为它没有在s3存储桶属性的事件选项卡中显示AWS lambda函数的设置.
我为Lambda创建的IAM角色的策略文档如下
{
"Version": "VersionNumber",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::xyz/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我为什么我无法为s3存储桶上的操作创建AWS Lambda事件吗?
感谢John的评论,我能够解决这个问题.
当(由错误消息明确说明)Lambda和S3存储桶驻留在不同区域时会发生此问题.
要在与s3 bucket相同的区域中创建lambda,您需要知道bucket的区域.
要查看Amazon S3存储桶的区域,请单击管理控制台中的存储桶,然后转到"属性"选项卡.将显示该区域
现在您已了解目标区域.您可以通过从菜单右上角的下拉选择菜单中选择一个区域,在aws控制台中切换到该区域Support.
将区域更改为s3存储区后,创建新的lambda函数将解决问题.
| 归档时间: |
|
| 查看次数: |
4491 次 |
| 最近记录: |