2012-11-21 8 views
0

다음은 Amazon S3 API 문서의 샘플 코드입니다.Amazon S3 API 버킷 오류 없음

$s3 = new AmazonS3(); 
$bucket = 'my-bucket' . strtolower($s3->key); 
  
$response = $s3->create_object($bucket, 'prefix with spaces with spaces.txt', array(
    'body' => 'This is my body text.' 
)); 
  
// Success? 
var_dump($response->isOK()); 

이 라이브 사이트 에 있지만 작동 로컬 호스트 후자에는 통 말을하지 않는 오류가

$s3 = new AmazonS3(); 
    $bucket = 'my-bucket'; 
  
    $response = $s3->create_object($bucket, 'prefix with spaces with spaces.txt', array(
    'body' => 'This is my body text.' 
)); 

// 성공

를 찾을 수 있습니다?

만 제거 . strtolower($s3->key);

답변

3

아마존 S3는 대소 문자를 구분 작동합니다. 따라서 Object를 비롯한 Bucket의 경우 Name을 대문자 또는 소문자로 변경하면 다른 결과를 얻을 수 있습니다.

버킷 이름에 Capital Laters가 있고 코드 이름을 소문자로 변경하면 Bucket Does No Exist와 같은 메시지가 표시됩니다.

그래서 실제로 버킷과 객체 이름이 Amazon S3에 존재하는지 확인하십시오.

+0

동일한 버킷 또는 이미 소문자 인 버킷을 사용하는 라이브 서버에 대해 두 코드를 모두 적용 했습니까? –

+0

두 서버의 버킷 이름이 같습니다. 왜 열쇠에 버킷 이름을 추가해야합니까? – itsoft3g

+0

나는 당신이 일하는 언어 (PHP)에 대한 지식이 없다. BUT 예, 버킷 이름에 키를 추가 할 필요가 없습니다. 이미 객체 생성 메소드에서 키를 전달하고 있습니다. –