2016-04-25 3 views
0

Я пытаюсь установить соединение с aws для выполнения основных операций на ведро s3. Ниже приводится код:AWS S3 с использованием графов

def list(){ 
     AWSCredentials credentials = new BasicAWSCredentials("Access key", "Secret Key"); 


     AmazonS3 s3client = new AmazonS3Client(credentials); 


     String bucketName = "sample-bucket-from-java-code"; 



     System.out.println("Listing all buckets : "); 
     for (Bucket bucket : s3client.listBuckets()) { 
      System.out.println(" - " + bucket.getName()); 
     } 
    } 

Это дает мне ошибку:

request- Received error response: com.amazonaws.services.s3.model.AmazonS3Exception: The request signature we calculated does not match the signature you provided. Check your key and signing method. 

Я также дважды проверил ключ доступа и секретный ключ, который я использую. Не могу понять проблему.

+0

Вы проверили http://stackoverflow.com/questions/2777078/amazon-mws-request-signature-calculated-does-not-match-the-signature-provided –

ответ

-1

Его всегда полезно использовать «cognito accountId», а не доступ и секретный ключ. Поскольку использование идентификатора учетной записи cognito имеет ограниченный доступ к AWS, который всегда можно изменить.

// Инициализация поставщика учетных данных Amazon Cognito.

AWSCognitoCredentialsProvider* credentialsProvider = [AWSCognitoCredentialsProvider 
                 credentialsWithRegionType:AWSRegionUSEast1 
                 accountId:@"xxxxxxxxxxx" 
                 identityPoolId:@"xxxxxxxxxxx" 
                 unauthRoleArn:@"arn:aws:iam::xxxxxxxxxxx" 
                 authRoleArn:nil]; 

AWSServiceConfiguration* configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSWest2 
                     credentialsProvider:credentialsProvider]; 

[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; 

Вы также можете найти действующий код из моего блога.

https://tauheeda.wordpress.com/2015/10/15/use-aws-service-to-downloadupload-files-in-your-applications/

Не забудьте добавить учетные данные:

ACCOUNTID: @ «XXXXXXXX» identityPoolId: @»XXXXXXXX-XXXXXXXX» unauthRoleArn: @»XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX«

+0

Пользователи и роли IAM так же гибки, и как правило, используются в этом типе сценария. –

+0

@ tauheed просто предложил другую альтернативу. Согласился с Марком! –

Смежные вопросы