2017-03-01 126 views
0

我有一个存储桶A,它有几个文件夹和一堆(根)对象。 我需要将所有文件夹从存储桶A复制到存储桶B,而根对象将保留在存储桶A中。aws s3:无法移动/将文件从一个文件夹复制到其他

我遵循AWS的说明选择存储桶A中的文件夹,点击“操作” - “剪切”,然后导航到桶B,并击中“粘贴”。

这一切看起来不错。然后突然出现了一系列的The following objects were not copied due to errors from: A

什么是非常奇怪的(对我不好),是它没有移动几个文件,而导致错误只是拒绝移动。

我甚至为这两个存储桶的存储桶策略分配了所有权限Everyone,认为这可能是一个许可问题。不过,有问题的文件不会被移动。复制也失败。 我很无语。 这里可能会出现什么问题?

回答

0

Amazon S3管理控制台提供基本的剪切/复制/粘贴功能。但是,对于复杂的对象组,我不一定会信任它。

复制/移动文件的好方法是使用AWS Command-Line Interface (CLI)。例如:

aws s3 cp s3://bucket1/path s3://bucket2/path --recursive 

要在目录间移动文件:

aws s3 mv s3://bucket1/path s3://bucket1/path2 --recursive 
+0

感谢约翰。我忘了补充一点,我实际上是在尝试你的建议。这是我得到的:'复制失败:s3://bucket1/2016/10/21/file.png到s3://bucket2/2016/10/21/file.png调用CopyObject时发生错误(AccessDenied)操作:访问被拒绝 - - 我无法理解,因为我拥有两个存储桶上的所有权限的角色“每个人”!为什么我现在会得到拒绝访问? – faboolous

+0

因此,问题是**源**上的访问是否被拒绝,或者它是否在**目标**上被拒绝。你可以尝试复制从和到同一个桶,但到不同的路径?通过这种方式,您可以检查哪个存储桶具有不需要的权限,然后我们可以深入研究这些策略。 –

+0

'aws s3 cp --recursive s3:// bucket1/2016/10/21/s3:// bucket1/test'因相同的错误消息而失败。 'aws s3 cp --recursive s3:// bucket2/2016/10/2 s3:// bucket2/test'成功。请注意,上面的bucket2操作在不同的路径上。无论如何,它似乎与bucket1有关。 – faboolous

相关问题