WaiterError:服务员对象存在失败:禁止

Not*_*onb 7 amazon-s3 amazon-iam aws-lambda

当文件到达另一个帐户 (A) 上的存储桶时,我需要从另一个帐户 (B) 调用 lambda 函数。我已在账户 A 的存储桶策略上提供“s3: ”,并为账户 A 的存储桶的账户 B 上的 lambda 角色提供“s3:”。S3 事件被引发并调用 lambda。但是,lambda 获取对象不存在异常。因此,我实现了 waiter 对象来等待 lambda 找到该对象。

waiter = s3_client.get_waiter('object_exists')
waiter.wait(Bucket = bucket_name, Key = key)
Run Code Online (Sandbox Code Playgroud)

当我手动删除文件时,它工作得很好。但是,当 AWS 删除文件 (CUR) 时,lambda 会出现“Waiter ObjectExists failed: Forbidden”异常。

我查看了所有旧的 stackoverflow 帖子,人们说 headObject 仅需要“s3:ListBucket”。我尝试了“s3:ListBucket”和“s3:*”,但仍然遇到相同的错误。

任何有关这方面的帮助将不胜感激。