使用boto3,从整个文件夹或文件从一个s3存储桶复制到同一区域的另一个文件夹时,如何提供访问密钥和秘密访问密钥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用boto3,从整个文件夹或文件从一个s3存储桶复制到同一区域的另一个文件夹时,如何提供访问密钥和秘密访问密钥?相关的知识,希望对你有一定的参考价值。

我想将文件从一个s3存储桶复制到同一区域的另一个文件。两个存储桶都有不同的访问密钥和秘密密钥。如何使用以下python代码片段提供这些秘密和访问密钥:

import boto3
s3 = boto3.resource('s3')
copy_source = 
               'Bucket': 'mybucket',
               'Key': 'mykey'
              
bucket = s3.Bucket('otherbucket')
bucket.copy(copy_source, 'otherkey')
答案

你不知道。复制对象(从一个存储桶到另一个存储桶还是在同一存储桶内)都要求您使用一组在两个存储桶中都具有必需权限的凭据。

[执行复制对象时,请求实际上是由客户端发送到目标存储桶的,目标存储桶使用S3内部的路径将对内容的请求发送到源存储桶,但使用与您以前使用的相同的凭据第一个请求。对象已传输,无需下载然后再次上传。

如果您没有一组可以访问两个存储桶的凭据,则必须求助于下载和重新上传。

以上是关于使用boto3,从整个文件夹或文件从一个s3存储桶复制到同一区域的另一个文件夹时,如何提供访问密钥和秘密访问密钥?的主要内容,如果未能解决你的问题,请参考以下文章

Boto3 从 S3 存储桶下载所有文件

从 boto3 检索 S3 存储桶中的子文件夹名称

使用 boto3 lib 和 AWS Lambda 从 S3 存储桶中的压缩文件中获取数据流

从 S3 存储桶中读取大量 CSV 文件

使用 boto3 在两个 AWS S3 存储桶之间移动文件

S3 AWS 的 IAM 角色和密钥设置使用 boto3 访问两个不同的账户存储桶