2016-05-19 22 views
1

私はAWS Cognitoの簡単なインスタンスを実行しようとしています。フェデレーションされたIDを作成しました。認証されたユーザーと認証されていないユーザーの両方に役割が割り当てられています。私はPythonでのアイデンティティに接続しようとしているが、私はエラーが表示されます。Pythonとboto3でCognitoに接続するときのNoCredentialsError

NoCredentialsError:資格情報

を見つけることができませんが、私はコード例AWSコンソールから直接それをコピーしたので、私は間違いなく右IdentityIdを使用していますあなたのために生成します。

ClientError::私は代わりに私は次のエラーを取得する資格情報を取得しようとした場合

import boto3 
identity = boto3.client('cognito-identity', 
         region_name='us-east-1') 

response = identity.describe_identity(IdentityId='us-east-1:XXXX') 
print (response['IdentityId']) 

:私は、次のコードを使用していますエラーが発生した(ResourceNotFoundException)GetCredentialsForIdentity操作を呼び出す:アイデンティティ「US- east-1:XXXXXX 'が見つかりません。

import boto3 
identity = boto3.client('cognito-identity', 
         region_name='us-east-1') 

response = identity.get_credentials_for_identity(IdentityId='us-east-1:XXXXX') 
access_key = response['Credentials']['AccessKeyId'] 
secret_key = response['Credentials']['SecretKey'] 

print (access_key) 
print (secret_key) 

は、私も、私はアクセスキーとシークレットを使用してIDクライアントを作成する場合、私はまだここに説明した第二のエラーが出ることに注意する必要がありますが、両方のシナリオで:

このコードを使用します。私が知る限り、これらの資格情報を提供する必要がありますが、とにかく試しました。

答えて

2

CognitoコンソールでID IDが生成されない場合は、ID プール IDが生成されます。アイデンティティIDとしてそれを使用している場合、それが問題になりますが、それは見つからないでしょう。その場合、(GetId APIを使用して)アイデンティティIDを生成し、それを代わりに使用し、そのIDを使用して資格情報を取得する必要があります。

+0

1000回ありがとう:) – LaserJesus

+0

取得した資格情報を使用してPythonを使用してAPIゲートウェイを呼び出す方法を知っていますか?私はboto3ライブラリがこの署名プロセスの世話をする方法を持っていることを望んでいますが、私は他の質問にはあまり運がありません:http://stackoverflow.com/questions/37336286/how-do-i-call -an-api-gateway-with-cognito-credentials-in-python – LaserJesus

関連する問題