调用GetCredentialsForIdentity操作时出错(ResourceNotFoundException):Identity“apsouth1:sadf”

2024-05-16 22:09:50 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用IdentityId和登录名调用GetCredentialsForIdentity时,我得到ResourceNotFoundException

client_identify = boto3.client('cognito-identity', region_name=POOL_REGION)
logins = {}
logins[
    "cognito-idp." + POOL_REGION + ".amazonaws.com/" + USER_POOL
] = id_token;
print(logins, IDENTITY_POOL_ID)
res = client_identify.get_credentials_for_identity(
  IdentityId=IDENTITY_POOL_ID,
  Logins=logins
)

我在这里得到的错误是: botocore.errorfactory.ResourceNotFoundException:发生错误 (ResourceNotFoundException)调用GetCredentialsForIdentity操作时:Identity 在此处输入代码“ap-south-1:ASDFADSFASDFSDADFASDFASD”

当我尝试使用javascript时,它工作得非常好

python中有什么解决方案吗


Tags: clientid错误boto3regionidentitypoolcognito
1条回答
网友
1楼 · 发布于 2024-05-16 22:09:50

IDENTITY_POOL_IDIDENTITY_ID是两个不同的东西。基本上需要使用get_idIDENTITY_POOL_ID获取IDENTITY_ID

下面是我测试过的代码:

import boto3  
                                                                                          
                                                
client_identify = boto3.client('cognito-identity')   
                                                  
IDENTITY_POOL_ID = 'us-east-1:xxxxx-3f18-41f9-b4a6-xxxxx' 


response = client_identify.get_id(
         IdentityPoolId=IDENTITY_POOL_ID
)  

print(response)


IDENTITY_ID = response['IdentityId']                                                                      

print(IDENTITY_ID)                             

res = client_identify.get_credentials_for_identity(
       IdentityId=IDENTITY_ID
)

print(res)   

您需要根据自己的要求进行调整

相关问题 更多 >