2017-01-26 19 views
2

私はAWSに接続しているAndroidアプリを開発しています。私は、アプリケーション内のDynamoDBにデータを保存します。Android-DynamoDB認証ユーザー

適切なIDを持つユーザだけが自分のレコードを書き込んだり更新したりできるようにDynamoDBを設定しました。すべてのSDKのsampplesでは、方法は、DynamoDBのは、この方法を使用して起動する:私はそれが ユーザーを識別し、ユーザ名とパスワードまたははsessionTokenを含めることを期待する

 CognitoCachingCredentialsProvider credentials = new CognitoCachingCredentialsProvider(
      context, 
      Constants.IDENTITY_POOL_ID, 
      Regions.US_EAST_1); 

    ddb = new AmazonDynamoDBClient(credentials); 

上記にはユーザーに関する情報は含まれていませんが、地域には含まれていません。操作を要求しているユーザーを指定するにはどうすればよいですか?

ありがとう、

+0

お楽しみください私はあなたが必要としていると信じて 'accounttId'を取るいくつかです。 –

答えて

0

私はそれを行うように管理しました。それを行う方法を知りたい人のために:

Map<String, String> logins = new HashMap<String, String>(); 
logins.put(developerName, JWTToken); 

developerNameは、開発者のIDです。 1.あなたがよりマップを作成する必要がありますCognitoCachingCredentialsProvider()オブジェクト

CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
        getApplicationContext(), 
        identityPoolId, 
        Regions.US_EAST_1); 

を作成します。 よりも電話

credentialsProvider.setLogins(logins); 
credentialsProvider.refresh(); 
AmazonDynamoDBClient ddb = new AmazonDynamoDBClient(credentialsProvider); 
           mapper = new DynamoDBMapper(ddb); 

DynamoDBScanExpression scanExpression = new DynamoDBScanExpression(); 

認証と認証されていないポリシーを設定する必要があります。

は、私はありhttp://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/auth/CognitoCachingCredentialsProvider.htmlドキュメント内のすべての異なる `CognitoCachingCredentialsProvider`コンストラクタになり

0

アカウントIDは、ユーザーのアカウントではなく、開発者accountidです。