情况如下: 我们使用一个数据加载服务从s3中的一个目录接收大约1TB的json文件。我们希望成批地将这些文件加载到摄取目录中,这样加载服务就不会不堪重负。我们使用一个使用boto3客户机复制方法的本地python脚本进行批处理。下面是boto3的文档样本:
import boto3
s3 = boto3.resource('s3')
copy_source = {
'Bucket': 'mybucket',
'Key': 'mykey'
}
s3.meta.client.copy(copy_source, 'otherbucket', 'otherkey')
当使用boto3's copy method时,是否有任何理由认为客户端正在下载与密钥相关联的文件,然后在新的otherbucket/otherkey
位置执行PUT操作?在
我知道s3中的任何操作都是要收费的,所以我基本上是要确保我们不会因为这些操作而收费,也不会像那样浪费我们自己的带宽。在
这是一个
PUT+Copy
。它是一个发送到目标bucket的请求,指定源bucket和object。在{bucket{2>仍然向目标发送一个bucket,但是这个bucket并没有向目标发送一个^/fetch请求。在
数据是在S3内部传输的,因此它不使用您的互联网带宽,但是如果源存储桶和目标存储桶位于不同的区域,则源存储桶将按跨区域带宽计费。这是一个收费率低于“出到互联网”带宽收费。在
参见:Copying Objects in a Single Operation
相关问题 更多 >
编程相关推荐