2015-02-22 1 views
1

Я пытаюсь запустить образец S3 TransferManager. У меня проблема с заменой этих значений. Я не уверен, где я могу получить COGNITO_POOL_ID. Когда он запускается, я могу увидеть интерфейс на секунду, а затем он остановился. Мне нужен кто-то, кто поможет мне указать, как найти COGNITO_POOL_ID и другие значения в классе Constant. Пожалуйста, предоставьте скриншот и URL-адрес, если это возможно. Спасибо.AWS Android Пример сбоя из-за неправильного идентификатораPoolId

public class Constants { 
public static final String AWS_ACCOUNT_ID = "########"; 
public static final String COGNITO_POOL_ID = 
     "Cognito_RTanahUnauth_DefaultRole"; 
public static final String COGNITO_ROLE_UNAUTH = 
     "rn:aws:iam::##########:role/Cognito_RTanahUnauth_DefaultRole"; 

public static final String BUCKET_NAME = "rtanah"; 
} 

Это послание LogCat

22 23:05:07.682 5718-5733/com.amazonaws.demo.s3_transfer_manager E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1 
Process: com.amazonaws.demo.s3_transfer_manager, PID: 5718 
java.lang.RuntimeException: An error occured while executing doInBackground() 
     at android.os.AsyncTask$3.done(AsyncTask.java:300) 
     at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) 
     at java.util.concurrent.FutureTask.setException(FutureTask.java:222) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:242) 
     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
     at java.lang.Thread.run(Thread.java:841) 
Caused by: com.amazonaws.AmazonServiceException: 1 validation error detected: Value 'Cognito_RTanahUnauth_DefaultRole' at 'identityPoolId' failed to satisfy constraint: Member must satisfy regular expression pattern: [\w-]+:[0-9a-f-]+ (Service: AmazonCognitoIdentity; Status Code: 400; Error Code: ValidationException; Request ID: 2fc575a2-baa4-11e4-a864-a7823d1dc7e2) 
     at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:820) 
     at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:439) 
     at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:245) 
     at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.invoke(AmazonCognitoIdentityClient.java:1079) 
     at com.amazonaws.services.cognitoidentity.AmazonCognitoIdentityClient.getId(AmazonCognitoIdentityClient.java:361) 
     at com.amazonaws.auth.AWSAbstractCognitoIdentityProvider.getIdentityId(AWSAbstractCognitoIdentityProvider.java:164) 
     at com.amazonaws.auth.AWSAbstractCognitoIdentityProvider.refresh(AWSAbstractCognitoIdentityProvider.java:307) 
     at com.amazonaws.auth.AWSBasicCognitoIdentityProvider.refresh(AWSBasicCognitoIdentityProvider.java:79) 
     at com.amazonaws.auth.CognitoCredentialsProvider.retryRefresh(CognitoCredentialsProvider.java:568) 
     at com.amazonaws.auth.CognitoCredentialsProvider.startSession(CognitoCredentialsProvider.java:541) 
     at com.amazonaws.auth.CognitoCredentialsProvider.getCredentials(CognitoCredentialsProvider.java:366) 
     at com.amazonaws.auth.CognitoCachingCredentialsProvider.getCredentials(CognitoCachingCredentialsProvider.java:447) 
     at com.amazonaws.auth.CognitoCachingCredentialsProvider.getCredentials(CognitoCachingCredentialsProvider.java:79) 
     at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3686) 
     at com.amazonaws.services.s3.AmazonS3Client.headBucket(AmazonS3Client.java:1030) 
     at com.amazonaws.services.s3.AmazonS3Client.doesBucketExist(AmazonS3Client.java:993) 
     at com.amazonaws.demo.s3_transfer_manager.Util.doesBucketExist(Util.java:68) 
     at com.amazonaws.demo.s3_transfer_manager.MainActivity$CheckBucketExists.doInBackground(MainActivity.java:223) 
     at com.amazonaws.demo.s3_transfer_manager.MainActivity$CheckBucketExists.doInBackground(MainActivity.java:218) 
     at android.os.AsyncTask$2.call(AsyncTask.java:288) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
at java.lang.Thread.run(Thread.java:841) 

ответ

0

Перейдите к Cognito под AWS услуги, нажмите на свой идентификатор пула, то в правом верхнем углу нажмите «Изменить идентификатор пула». Идентификатор пула идентификаторов будет находиться под «Идентификатором пула идентификаторов». Скопируйте его все и вставьте в свое приложение.

4

Если вы хотите создать пул идентификации, можете перейти на Cognito console и нажмите Новый пул идентификаторов. Когда вы создадите пул, он даст вам пример кода, который будет иметь идентификатор пула идентификаторов. Вы можете использовать этот код непосредственно в образце приложения. Для получения дополнительной информации о создании пула идентификаторов вы можете прочитать документацию here.

Если у вас уже есть пул идентификаторов, нажмите на ссылку Code Browser в консоли Cognito, чтобы получить код, который будет вставлен в пример приложения.

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