AWSCognitoIdentityProvider; Код статуса: 400; Код ошибки: InvalidParameterException: Cognito Invalid AttributeDataType

Мне нравится создавать пул Cognito с помощью AWS-CDK версии 0.24.1 на основе Java. В течение cdk deploy я получаю ошибку InvalidParameterException.

Сервис: AWSCognitoIdentityProvider;
Код статуса: 400;
Код ошибки: InvalidParameterException: Cognito Неверный ввод AttributeDataType, рассмотрите возможность использования предоставленного перечисления AttributeDataType

    CfnUserPool userPool = new CfnUserPool(this, "cognito",
    CfnUserPoolProps.builder()
        .withAdminCreateUserConfig(
            AdminCreateUserConfigProperty.builder()
                .withAllowAdminCreateUserOnly(false)
                .build())
        .withPolicies(
            PoliciesProperty.builder()
                .withPasswordPolicy(
                    PasswordPolicyProperty.builder()
                        .withMinimumLength(6)
                        .withRequireLowercase(false)
                        .withRequireNumbers(false)
                        .withRequireSymbols(false)
                        .withRequireUppercase(false)
                        .build()
                )
                .build()
        )
        .withAutoVerifiedAttributes(Arrays.asList("email"))
        .withSchema(Arrays.asList("email"))
    .build());

Может быть, простой список строк .withAutoVerifiedAttributes(Arrays.asList("email")) или же .withSchema(Arrays.asList("email")) неправильно. Но, к сожалению, есть только список объектов, объявленных в сигнатуре метода, и нет конкретного типа: public CfnUserPoolProps.Builder withAutoVerifiedAttributes(@Nullable List value),

Есть ли пример фрагмента для создания аналогичного пользовательского пула с использованием aws-cdk на основе Java.

1 ответ

Использование CfnUserPool.SchemaAttributeProperty.builder() решил проблему. Я думаю SchemaAttributeProperty ожидаемый тип данных метода withSchema(@Nullable List< Object > value)

CfnUserPool userPool = new CfnUserPool(this, "cognito",
    CfnUserPoolProps.builder()
        .withAdminCreateUserConfig(
            AdminCreateUserConfigProperty.builder()
                .withAllowAdminCreateUserOnly(false)
                .build())
        .withPolicies(
            PoliciesProperty.builder()
                .withPasswordPolicy(
                    PasswordPolicyProperty.builder()
                        .withMinimumLength(6)
                        .withRequireLowercase(false)
                        .withRequireNumbers(false)
                        .withRequireSymbols(false)
                        .withRequireUppercase(false)
                        .build()
                )
                .build()
        )
       .withAutoVerifiedAttributes(Arrays.asList("email"))
       .withSchema(Arrays.asList(
           CfnUserPool.SchemaAttributeProperty.builder()
               .withAttributeDataType("String")
               .withName("email")
               .withRequired(true)
           .build()))
    .build());
Другие вопросы по тегам