【发布时间】:2019-08-07 20:36:28
【问题描述】:
问题:当我运行以下 AWS Lambda 代码时,我的访问被拒绝:
require 'json'
require "aws-sdk-s3"
def lambda_handler(event:, context:)
client = Aws::S3::Client.new(region: 'us-east-2')
record = event["Records"][0]
key = record.dig *%w(s3 object key)
client.copy_object({
bucket: "bucket-name",
copy_source: "#{key}",
key: "#{key}",
})
end
错误:
"errorType": "Function<Aws::S3::Errors::AccessDenied>",
我的 IAM 角色:
AmazonS3FullAccess:AWS 托管策略AWSLambdaBasicExecutionRole-e41b74ba-3cef-4470-8f1c-3f900591016c:托管策略AWSConfigRulesExecutionRole
这不是很好吗?
lambda 的目的是获取上传到存储桶的文件并将它们复制到另一个存储桶。
【问题讨论】:
-
两个存储桶是否属于同一个 AWS 账户?
-
是的,我实际上刚刚更新了它并且它可以工作。在下面检查我的答案:)
标签: ruby amazon-web-services amazon-s3 aws-lambda