2016-06-23 1 views
2

AWS S3 버킷에 파일을 저장하고 있으며 AWS 콘솔을 통해 특정 기간 (예 : 6 개월) 후에 S3 버킷에서 Glacier로 파일을 이동하도록 옵션을 설정했습니다.S3 버킷에서 S3 버킷으로 이동 한 파일을 가져 오는 방법은 무엇입니까?

파일이 S3에서 빙하로 이동 중입니다.

이제 Glacier에서 이동 한 파일을 검색하고 싶습니다. 그러나 그렇게 할 수있는 작업 방법을 찾지 못했습니다.

AWS 빙하의 문서를 참조하면서 이미 시도했지만 행운은 없습니다.

참고 : 우리는 PHP SDK 또는 PHP를 사용하는 다른 방법으로이 작업을 수행하려고합니다. documentation 당으로

답변

2

는 말했다 : 아마존 빙하 스토리지 클래스

객체 즉시 액세스 할 수 없습니다 : 그것은 수 있습니다 전에 먼저 버킷에 객체의 임시 복사본을 복원해야합니다.

당신은 몇 시간 (일반적으로 3 ~ 5 시간)을 임시 객체로 복원하기 위해 취할 수있는, 당신의 보관 (S3-빙하) 개체에 복원 작업을 시작해야합니다. S3 버킷에 영구적으로 저장하려면 복원이 완료된 후 S3 버킷 내에서 복사본을 만들 수 있습니다. 복원 작업을 시작하려면

, 당신은 사용할 수 있습니다

  • S3 관리 콘솔, here를 참조하십시오.
  • AWS CLI (here 참조)
  • S3 REST API - POST Restore Object을 호출하십시오 (here 참조).
  • AWS SDK, PHP는 here에서 볼 수 있습니다. A는 작업이 프로그래밍 완료 복원 할 때

은 당신이 할 수있는, 확인하려면 다음

  • 전화 S3 REST API를 - HEAD Objecthere를 참조하십시오.
  • AWS SDK, PHP는 here에서 볼 수 있습니다.

복원 작업이 완료되면 작업에서 설정 한 특정 기간 동안 S3 버킷의 개체를 검색 할 수 있습니다.

+1

에 대한 일반적인 템플릿입니다 사용할 수 있지만, 잘못된 너무 많은이있다 여기 진술. Glacier API, cli, DescribeJob 및 SNS 주제와 Glacier 서비스와의 직접적인 상호 작용 - S3 관리 콘솔에 대한 링크 이후에는 Glacier 스토리지 클래스의 S3 객체에는 적용 할 수 없습니다. S3는 "귀하"의 빙하 계정에 오브젝트를 저장하지 않습니다.그것은 그것들을 당신 자신이 접근 할 수없는 곳에 저장합니다. –

+0

안녕하세요 @ 마이클,이 답변을 알아 줘서 고마워. 나는 S3 빙하 학급과 빙하 그 자체를 섞었다. 정답은 http://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html에 나와 있습니다. 곧 답변을 고칠 것입니다. 다시 한번 감사드립니다. –

+0

이미 업데이트되었습니다. –

0

당신이 PHP SDK를 사용하는 경우에는 다음이

$objects = $s3Client->restoreObject(array(
       'Bucket' => 'Bucket name' 
       ,"Key" => 'File Key which is file bath in S3 bucket' 
       //,'RequestPayer' => 'requester', 
       ,'RestoreRequest' => [ 
        'Days' => 10, 
        'GlacierJobParameters' => [ 
         //'Tier' => 'Standard|Bulk|Expedited', // REQUIRED 
         'Tier' => Expedited, // REQUIRED 
        ] 
       ], 
      )); 

내가 잘 작성 대답을 downvote 싫어이

$result = $client->restoreObject([ 
    'Bucket' => '<string>', // REQUIRED 
    'Key' => '<string>', // REQUIRED 
    'RequestPayer' => 'requester', 
    'RestoreRequest' => [ 
     'Days' => <integer>, // REQUIRED 
     'GlacierJobParameters' => [ 
      'Tier' => 'Standard|Bulk|Expedited', // REQUIRED 
     ], 
    ], 
    'VersionId' => '<string>', 
]); 
관련 문제