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());