Python S3权限问题
当我运行此代码时:Python S3权限问题,python,amazon-s3,Python,Amazon S3,当我运行此代码时: conn = S3Connection('xyz','zyx') conn2 = S3Connection('xxx','xyz') srcBucketName = 'name1' dstBucketName = 'name2' srcBucket = conn.get_bucket(srcBucketName); dstBucket = conn2.get_bucket(dstBucketName); keys = srcBucket.get_all_keys(max_
conn = S3Connection('xyz','zyx')
conn2 = S3Connection('xxx','xyz')
srcBucketName = 'name1'
dstBucketName = 'name2'
srcBucket = conn.get_bucket(srcBucketName);
dstBucket = conn2.get_bucket(dstBucketName);
keys = srcBucket.get_all_keys(max_keys = 5, prefix='path/to/file')
for k in keys:
print 'Copying ' + k.key + ' from ' + srcBucketName + ' to ' + dstBucketName
t0 = time.clock()
dstBucket.copy_key(k.key, srcBucketName, k.key)
print time.clock() - t0, ' seconds'
我被返回此错误:
3ResponseError: S3ResponseError: 403 Forbidden
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>734BB799C0FA1C7A</RequestId><HostId>y9WRn7lb3BDqbLurW5q1EsKz+FptqXgVxeIgNbWrEBshew7CQ0w6Lg+yjjd1Lqfe</HostId></Error>
(来自另一个问题)
我可以使用输入到python中的键从srcBucket下载这些文件。我有对DSTBack的写入权限
srcBucket和dstBucket是通过我拥有的不同的保管器访问的
有人知道我为什么要从一个存储桶复制文件到另一个存储桶吗?是否连接到正确的区域终结点?你的水桶位于哪个地区?如果您在创建连接时没有指定区域,那么我相信它默认为us-east-1,如果您的bucket不在该区域,那么当您尝试对其执行任何操作时,它可能会抛出一个错误。我的区域是us-east-1,如果我更改我的bucket,上面的脚本会起作用。因此,我认为这可能是我要复制的bucket的权限问题。生成复制请求的帐户必须具有读取源bucket和写入目标bucket的权限。