AWSCognitoIdentityProvider;Код статуса: 400;Код ошибки: InvalidParameterException: Cognito Invalid AttributeDataType - PullRequest
0 голосов
/ 02 марта 2019

Мне нравится создавать пользовательский пул 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 Ответ

0 голосов
/ 03 марта 2019

использование 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());
...