Python S3复制内部lambda功能超时

Python S3复制内部lambda功能超时,python,amazon-web-services,amazon-s3,aws-lambda,boto3,Python,Amazon Web Services,Amazon S3,Aws Lambda,Boto3,我有一个用Python编写的Lambda函数,它使用Boto3和setup在将文件放入S3存储桶时启动。我想将该文件复制到另一个帐户中。代码如下: source = boto3.resource('s3') destination = boto3.resource('s3', aws_access_key_id='<redacted>', aws_secret_access_key='<redacted>') source_bucket = source

我有一个用Python编写的Lambda函数,它使用Boto3和setup在将文件放入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存储桶的连接超时了。我已验证这似乎不是权限问题

[信息]2017-01-25T19:33:59.400Z c942ee38-e334-11e6-850d-45d8f93ed656启动 新的HTTPS连接1:[源bucket].s3.amazonaws.com


有人有什么想法吗?

正如上面@Michael sqlbot提到的,我需要一个S3 VPC端点。

你把函数放在VPC中了吗?文件有多大?有可能它太大了,无法在时间范围内复制。文件非常小。我使用大约1MB的jpeg文件进行测试。实际使用的是小的xml文件。该函数在VPC中,但在尝试调试时,我临时向外界打开了bucket。我能够从AWS之外的浏览器中访问S3中的文件。但这并不是我直接想到的。在VPC中,Lambda函数必须与私有子网相关联,并配备NAT设备,或者您需要一个S3 VPC端点。