我使用Boto3编写了一个用Python编写的Lambda函数,并设置为在将文件放入S3存储桶时触发。我想将该文件复制到帐户中的另一个S3存储桶。这是代码:
source = boto3.resource('s3')
destination = boto3.resource('s3',
aws_access_key_id='<redacted>',
aws_secret_access_key='<redacted>')
source_bucket = source.Bucket(bucket)
destination_bucket = destination.Bucket('targetBucket')
copy_source = {
'Bucket': bucket,
'Key': key
}
destination_bucket.copy(copy_source, key)
当Lambda函数触发时,一切似乎都顺利,但副本永远不会发生。当该行触发时,我在日志中收到以下消息。看起来与S3存储桶的连接超时。我已经确认它似乎不是权限问题。
[INFO] 2017-01-25T19:33:59.400Z c942ee38-e334-11e6-850d-45d8f93ed656开始 新的HTTPS连接(1):[source-bucket] .s3.amazonaws.com
有人会有任何想法吗?
答案 0 :(得分:1)
如上面的@ Michael-sqlbot所述,我需要一个S3 VPC端点。