Python - 导出 AWS Cognito 用户池 - NoCredentialsError:无法找到凭证

Posted

技术标签:

【中文标题】Python - 导出 AWS Cognito 用户池 - NoCredentialsError:无法找到凭证【英文标题】:Python - Export AWS Cognito User Pool - NoCredentialsError: Unable to locate credentials 【发布时间】:2021-09-13 15:12:04 【问题描述】:

我正在尝试从我的 AWS Cognito 用户池中检索用户列表。

当我在PowerShell中输入这个命令时,我可以得到users.json文件;

aws --region eu-central-XXXX cognito-idp list-users --user-pool-id eu-central-XXXX_AAAAAAA --output json > ~/users.json

我写了一个 Python 代码来做同样的事情;

import boto3

REGION = 'eu-central-XXXX'
USER_POOL_ID = 'eu-central-XXXX_AAAAAAA'

client = boto3.client('cognito-idp', REGION)

user_records = client.list_users(UserPoolId=USER_POOL_ID)
print(user_records)

但我得到了botocore.exceptions.NoCredentialsError: Unable to locate credentials

我看到我有 ~/.aws/config~/.aws/credentials 文件,他们有我的信息,我检查了。

有什么问题?我该如何解决我的问题?

【问题讨论】:

你检查了吗:***.com/a/35802492/467944 【参考方案1】:

我找到了解决办法;

import boto3

REGION = 'eu-central-XXXX'
USER_POOL_ID = 'eu-central-XXXX_AAAAAAA'

session = boto3.Session(profile_name = "YOUR_PROFILE_NAME_ON_CREDENTIALS_FILE"
client = session.client('cognito-idp', REGION)

user_records = client.list_users(UserPoolId=USER_POOL_ID)
print(user_records)

【讨论】:

以上是关于Python - 导出 AWS Cognito 用户池 - NoCredentialsError:无法找到凭证的主要内容,如果未能解决你的问题,请参考以下文章

用于 Django3 + DRF 身份验证的 AWS Cognito

使用 Cognito 用户池调用 AWS APIGateway

AWS Cognito forgotPassword 返回请求中止

AWS ALB使用cognito认证时遇到redirect_mismatch错误

Aws cognito添加预定义用户

将Cognito的用户信息与AWS Amplify GraphQL关联起来。