Python 如何修复boto3中不存在的用户池*******

Python 如何修复boto3中不存在的用户池*******,python,amazon-web-services,boto3,amazon-cognito,Python,Amazon Web Services,Boto3,Amazon Cognito,我不熟悉Python和SDK。我通过配置了访问密钥ID、秘密访问密钥和区域名称 进口boto3 client=bot3.client'cognito-idp' 响应=client.admin\u get\u用户 UserPoolId='us-east-2_hJpikme9T', Username='wasdkiller' 这是我的细节 我提供了正确的UserPoolId,但当我运行上面的代码示例时,对于中的每个函数,我都得到了下面的错误,例如我使用的示例 ResourceNotFoundExce

我不熟悉Python和SDK。我通过配置了访问密钥ID、秘密访问密钥和区域名称

进口boto3 client=bot3.client'cognito-idp' 响应=client.admin\u get\u用户 UserPoolId='us-east-2_hJpikme9T', Username='wasdkiller' 这是我的细节

我提供了正确的UserPoolId,但当我运行上面的代码示例时,对于中的每个函数,我都得到了下面的错误,例如我使用的示例

ResourceNotFoundException:调用AdminGetUser操作时发生错误ResourceNotFoundException:用户池us-east-2_hJpikme9T不存在。
我们可以在默认参数的服务名称之外提供更多参数。如中所示,我们可以提供aws\u访问密钥\u id、aws\u机密密钥\u访问密钥和区域名称,而无需使用

如果您使用的是默认参数,例如您已经通过该选项给出的参数,那么在调用时不需要提及aws\u access\u key\u id或aws\u secret\u access\u key。但是我不知道为什么你必须提到你的地区名称,这是你打电话时已经给出的

客户=bot3.客户'cognito-idp',地区名称='us-east-2'
这样我就解决了我的上述问题。但是我仍然不知道为什么我们在打电话时必须特别提到region\u name参数,如果您知道任何有关它的信息,请更新下面的回答或评论。

我们可以在默认参数服务名称之外提供更多参数。如中所示,我们可以提供aws\u访问密钥\u id、aws\u机密密钥\u访问密钥和区域名称,而无需使用

如果您使用的是默认参数,例如您已经通过该选项给出的参数,那么在调用时不需要提及aws\u access\u key\u id或aws\u secret\u access\u key。但是我不知道为什么你必须提到你的地区名称,这是你打电话时已经给出的

客户=bot3.客户'cognito-idp',地区名称='us-east-2'
这样我就解决了我的上述问题。但是我仍然不知道为什么我们在打电话时要特别提到region_name参数,如果你知道的话,请更新下面的答案或评论。

我也有同样的错误。另一个选项是在区域us-east-1中创建用户池。我这样做了,cognito身份验证成功。

我也有同样的错误。另一个选项是在区域us-east-1中创建用户池。我这样做了,cognito身份验证成功。

您需要手动指定区域,因为默认情况下,Boto3接受~./aws/credentials文件中提到的区域。在您的情况下,它可能不是us-east-2。哦,现在我得到了它,多亏了您@ArkaMukherjee,在我的~/.aws/credentials文件中没有区域变量。但是我可以看到它在~/.aws/config中。您需要手动指定区域,因为默认情况下,Boto3接受~/.aws/credentials文件中提到的区域。在您的情况下,它可能不是us-east-2。哦,现在我得到了它,多亏了您@ArkaMukherjee,在我的~/.aws/credentials文件中没有区域变量。但是我可以在~/.aws/config中看到它。