当前位置: 首页 > 知识库问答 >
问题:

rovider.adminCreateUser(...)未能满足约束:成员不能为空

秋博容
2023-03-14

我正在使用Eclipse for Java和AWS工具包。我运行以下代码

public class Main {

    public static void main(String[] args) {

        AmazonCognitoIdentityClient client = new AmazonCognitoIdentityClient();

        client.trial();
        
        UserType userType = client.signUp();
        
    }

}

public class AmazonCognitoIdentityClient {
    
    public void trial() {
        
        AWSCognitoIdentityProvider cognitoClient = getAmazonCognitoIdentityClient();
        System.out.println(userPoolType.getSchemaAttributes());
        
    }

    public AWSCognitoIdentityProvider getAmazonCognitoIdentityClient() {
        ClasspathPropertiesFileCredentialsProvider propertiesFileCredentialsProvider = 
                new ClasspathPropertiesFileCredentialsProvider();

        return AWSCognitoIdentityProviderClientBuilder.standard()
                .withCredentials(propertiesFileCredentialsProvider)
                .withRegion("us-east-1")
                .build();

    }
    
    public UserType signUp() {

        AWSCognitoIdentityProvider cognitoClient = getAmazonCognitoIdentityClient();
        AdminCreateUserRequest cognitoRequest = new AdminCreateUserRequest()
                .withUserPoolId("us-east-1_PJa8U1lw3")
                .withUsername("yahoo")
                .withUserAttributes(
                        new AttributeType()
                        .withValue("dbrower256@yahoo.com"),
                        new AttributeType()
                        .withName("sub")
                        .withValue("sub"),
                        new AttributeType()
                        .withName("name")
                        .withValue("Daniel"),
                        new AttributeType()
                        .withName("given_name")
                        .withValue("Daniel"),
                        new AttributeType()
                        .withName("family_name")
                        .withValue("Brower"),
                        new AttributeType()
                        .withName("phone_number")
                        .withValue("9032761046"),
                        new AttributeType()
                        .withName("email_verified")
                        .withValue("true"))
                .withTemporaryPassword("TEMPORARY_PASSWORD")
                .withMessageAction("SUPPRESS")
                .withDesiredDeliveryMediums(DeliveryMediumType.EMAIL)
                .withForceAliasCreation(Boolean.FALSE);

        AdminCreateUserResult createUserResult = cognitoClient.adminCreateUser(cognitoRequest);
        UserType cognitoUser = createUserResult.getUser();

        return cognitoUser;

    }

}

我在控制台视图中看到:

[…{Name:Name,AttributeDataType:String,DeveloperOnlyAttribute:false,Mutable:true,Required:false,StringAttributeConstraints:{MinLength:0,MaxLength:2048}}.]

异常线程"main"com.amazonaws.services.cognitoidp.model.InvalidParameter异常:检测到1个验证错误:值null在'userAttributes.1.member.name'未能满足约束:成员不得为空...

从getSchemaAttributes()的打印中可以看到,“name”不是必需的。为什么我得到一个错误,说它不能为空?

共有1个答案

文德曜
2023-03-14

您是否尝试更改此代码:

                .withUserAttributes(
                        new AttributeType()
                        .withValue("dbrower256@yahoo.com"),

例如:

                .withUserAttributes(
                        new AttributeType()
                        .withName(...)
                        .withValue("dbrower256@yahoo.com"),
 类似资料:
  • 我正在创建一个AWS CodePipeline资源与terraform: 运行时,在它返回 编辑: 新的部署阶段是: 我有这个应用程序创建使用: 组使用:

  • 我正在通过Sagemaker将模型部署到AWS上: 我将JSON模式设置如下: 并部署为: 我得到的错误如下: ClientError:调用CreateModel操作时发生错误(ValidationException):检测到1个验证错误:值“{SAGEMAKER_SPARKML_SCHEMA={”输入“:[{”类型“:“double”,“名称“:“V1”},{”类型“:“V2”},{”类型“:“

  • 我正在尝试在AWS中应用身份池策略。我正在使用awc cli设置策略,但标题中经常出现以下例外情况: 调用AttachPrincipalPolicy操作时发生错误(InvalidRequestException):检测到1个验证错误:“policyName”处的值“DeviceShadowPolicy”未能满足约束:成员必须满足正则表达式模式:[\w=,。@-] 这是我使用的命令: 我不明白为什么

  • 我一直在AWS Mobile Hub上使用用户池。我已经设法与Facebook和G等提供商进行了登录。但是,当尝试使用AWS用户池登录时,我无法做到这一点。我可以成功注册并完美地连接到用户池(它可以识别错误的密码7个不存在的用户)。当我使用下面所示的方法登录时,我得到了错误: msgstr"检测到1个验证错误:userName处的value null无法满足约束:成员不能为null" 我真的不知道

  • 我打算访问zip文件的s3存储桶。 当我使用下面的代码时,它可以访问存储桶,因为它使用存储桶的根目录。 “S3Bucket”:{“Ref”:“HandlerCodeS3Bucket”}, 当我想访问同一个bucket的layers文件夹时,我使用HandlerCodeS3BucketLayer参数。 但它显示以下错误。

  • 嗨大家好, 我正在使用AWS S3 SDK 2.2.8将图像上载到S3。我已经在S3控制台中创建了Bucket。 我使用以下代码段上传文件。 我遇到了以下异常: com.amazonaws.AmazonServiceException:检测到1个验证错误:“accountId”处的值“XXXX-XXXX-XXXX”未能满足约束:成员必须满足正则表达式模式:\d(服务:AmazonCongnitoI