2017-03-01 1 views
0

버킷 A에는 두 개의 폴더와 (루트) 개체가 있습니다. 루트 개체가 버킷 A에 남아있는 동안 버킷 A에서 버킷 B로 모든 폴더를 복사해야합니다.aws s3 : 하나의 폴더에서 다른 폴더로 파일을 복사/복사 할 수 없습니다.

버킷 A의 폴더를 선택하고 "작업"- "잘라 내기"를 누른 다음 AWS 지시를 따랐습니다. 양동이 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 to s3 : //bucket2/2016/10/21/file.png CopyObject를 호출 할 때 오류가 발생했습니다 (AccessDenied). operation : Access Denied' - 두 버킷 모두에 대한 권한을 가진'Everyone '역할을 가지고 있기 때문에 이해할 수 없습니다! 왜 지금 액세스가 거부 되었습니까? – faboolous

+0

그래서 질문은 ** 소스 **에서 액세스가 거부되었는지 또는 ** 대상 **에서 거부되었는지 여부입니다. From 및 To 버킷을 같은 버킷에 복사 할 수 있습니까?하지만 다른 경로에 복사 할 수 있습니까? 그렇게하면 불필요한 권한이있는 버킷을 확인할 수 있고 정책을 드릴 다운 할 수 있습니다. –

+0

'aws s3 cp - 재귀 s3 : // bucket1/2016/10/21/s3 : // bucket1/test'는 같은 에러 메시지로 실패합니다. 'aws s3 cp - 재귀 s3 : // bucket2/2016/10/2 s3 : // bucket2/test'가 성공합니다. 위의 bucket2 작업은 다른 경로에 있습니다. 어쨌든 bucket1과 관련이있는 것 같습니다. – faboolous

관련 문제