S3存储桶到存储桶的复制性能



我正试图将一些文件从一个存储桶复制到另一个存储库(同一区域(,速度约为315mb/s。然而,我在lambda中使用它,并且有15分钟的超时限制。所以对于较大的文件进入超时

下面是我(在python中(使用的代码片段,有其他方法可以加快速度吗?欢迎任何意见。

s3_client = boto3.client(
's3',
aws_access_key_id=access_key,
aws_secret_access_key=secret_key,
aws_session_token=session_token,
config=Config(signature_version='s3v4')
)
s3_client.copy(bucket_pair["input"], bucket_pair["output"]["Bucket"],
bucket_pair["output"]["Key"])

我看到了很多关于传递chunksize的帖子,但在ALLOWED_COPY_ARGS中没有看到。谢谢

您可以使用step函数对所有对象进行迭代并复制它们。为了提高吞吐量,您可以使用地图任务

https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-map-state.html

如果不想使用stepfunction,可以使用一个生产者lambda将所有对象写入sqs队列,并从lambda中使用它们,将它们复制到相应的目标。

另一种选择是使用S3对象复制

https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html

但我不确定这是否适合你的用例

最新更新