如何使用 Python SDK 为 Cognito 用户添加组

use*_*846 2 amazon-web-services python-2.7 amazon-cognito boto3

我正在尝试将用户添加到 cognito 并为其分配一个组。添加组成功,但无法添加用户所属组。

import boto3

email = 'test@test.test'
poolId = 'ap-northeast-1_xxxxxx'
group = 'xxxx'
password = 'String1234'
aws_access_key_id = 'Axxxxxxxx'
aws_secret_access_key = '6xxxxxxxxx'

session = boto3.Session(aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
client = session.client('cognito-idp')

response = client.admin_create_user(
                UserPoolId=poolId,
                Username=email,
                TemporaryPassword= password,
                UserAttributes=[

                    {
                        "Name": "email",
                        "Value": email
                    },
                    {
                        "Name": "email_verified",
                        "Value": "true"
                    }
                ]
            )

response = client.admin_add_user_to_group(
                UserPoolId=poolId,
                Username=email,
                GroupName=group
            )
Run Code Online (Sandbox Code Playgroud)

添加用户成功,但未添加组:

Traceback (most recent call last):   File "test.py", line 24, in <module>
response = client.admin_add_user_to_group
( AttributeError: 'CognitoIdentityProvider' object has no attribute 'admin_add_user_to_group'
Run Code Online (Sandbox Code Playgroud)

在我的requirements.txt中,我使用为python创建虚拟环境

boto3==1.4.5
Run Code Online (Sandbox Code Playgroud)

使用这个boto3 文档作为参考。

Vas*_*kis 6

我已经让它与 boto3 (1.4.6) 一起工作。我希望您那里的示例假设您已经创建了要尝试将用户添加到的组。另外,以下代码示例假设您已将访问密钥导出为环境变量。

import boto3
a='XXXXXXXXXXXXXXXXXXXX'
s='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
r='us-west-2'

session = boto3.Session(aws_access_key_id=a, aws_secret_access_key=s, region_name=r)
client = boto3.client('cognito-idp', region_name=r)

email = 'tes1t@test1.test'
poolId = 'us-west-2_xxxxxxxxx'
group = 'foo'
password = 'String1234'

response = client.admin_create_user(
                UserPoolId=poolId,
                Username=email,
                TemporaryPassword= password,
                UserAttributes=[{"Name": "email","Value": email}, { "Name": "email_verified", "Value": "true" }]
            )

reply = client.create_group(UserPoolId=poolId,  GroupName=group)
reply = client.admin_add_user_to_group( UserPoolId=poolId, Username=email, GroupName=group )
Run Code Online (Sandbox Code Playgroud)