2017-05-15 9 views
1
AWSStaticCredentialsProvider *credentialsProvider = [[AWSStaticCredentialsProvider alloc] initWithAccessKey:@"AKIA..........." secretKey:@"6FuqRt................."]; 

AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionEUWest2 credentialsProvider:credentialsProvider]; 

[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; 
self.transferManager = [AWSS3TransferManager defaultS3TransferManager]; 

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"qr" ofType:@"jpeg"]; 
AWSS3TransferManagerUploadRequest *uploadRequest = [AWSS3TransferManagerUploadRequest new]; 
uploadRequest.bucket = @"my-flologic-bucket"; 
uploadRequest.key = @"monday.jpeg"; 
uploadRequest.body = [NSURL fileURLWithPath:filePath]; 

[[self.transferManager upload:uploadRequest] continueWithExecutor:[AWSExecutor mainThreadExecutor] withBlock:^id(AWSTask *task) 
{ 
    if (task.error) 
    { 
     NSLog(@"Error: %@", task.error); 
    } 
    else { 
     NSLog(@"The file uploaded successfully."); 

    } 
    return nil; 
}]; 

ERROR : 지역 엔드 포인트가 유효 아래 AWS Regions and Endpoints에서 지역 및 엔드 포인트 문서 당으로iOS의 AWS에서 이미지를 업로드하는 방법은 무엇입니까?

Bucket=my-flologic-bucket, Endpoint=my-flologic-bucket.s3-us-west-2.amazonaws.com, Message=The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint., Code=PermanentRedirect, RequestId=E7471ACE4D6049F8}

+0

엔드 포인트는 어떻게 생겼습니까? 올바르게 설정 되었습니까? 관련 코드를 제공하십시오 (필요한 경우 기밀 정보 포함). – Lepidopteron

+0

내 코드를 편집하십시오. @ Lepidopteron을 다시 시도하십시오. 감사합니다. –

+0

어떤 종점이 양동이에 지정 되었습니까? AWS에 너무 익숙하지 않지만이 버킷을 지정할 때 특정 끝점을 사용하는 것처럼 보입니다. 게다가 :이 답변에 따르면 한때 현재 AWS와 같은 방식으로 이미지를 업로드하는 데 문제가있었습니다. http://stackoverflow.com/questions/25369602/how-to-upload-a-uiimage-to-s3-with- aws-ios-sdk-v2 – Lepidopteron

답변

1

, S3 미국 서부-2 :

  • s3.us - 서쪽 - 2 .amazonaws.com
  • s3-us-west-2.amazonaws.com
  • s3.dualstack.us-west-2.amazonaws.com

s3-us-west-2.amazonaws.com 대신 https://<bucket-name>.s3.us-west-2.amazonaws.com을 사용해 볼 수 있습니까? 나는 s3-us-west-2.amazonaws.com도 유효하다는 것을 알고 있지만 항상 문제없이 이전의 것을 사용했습니다.

+0

문제가 해결 되었습니까? –

+0

감사합니다. –