创建 AWS Cognito 用户池时出现 Terraform 错误

Posted

技术标签:

【中文标题】创建 AWS Cognito 用户池时出现 Terraform 错误【英文标题】:Terraform error while creating AWS Cognito User Pool 【发布时间】:2022-01-13 08:33:07 【问题描述】:

以下是我创建 AWS Cognito 用户池的 terraform 代码:​​

resource "aws_cognito_user_pool" "CognitoUserPool" 
name = "cgup-aws-try-cogn-createcgup-001"
password_policy 
    minimum_length = 8
    require_lowercase = true
    require_numbers = true
    require_symbols = true
    require_uppercase = true
    temporary_password_validity_days = 7

lambda_config 
    

schema 
    attribute_data_type = "String"
    developer_only_attribute = false
    mutable = false
    name = "sub"
    string_attribute_constraints 
        max_length = "2048"
        min_length = "1"
    
    required = true
  

代码由几个模式组成,但我认为这可能就足够了。 它是从现有 cognito 用户池中的 aws 导出的,但是当我尝试 terraform 计划时,出现以下错误:

Error: "schema.1.name" cannot be longer than 20 character   
with aws_cognito_user_pool.CognitoUserPool,   
on main.tf line 216, in resource "aws_cognito_user_pool" "CognitoUserPool":  
216: resource "aws_cognito_user_pool" "CognitoUserPool" 

无论我如何减少名称的长度,我都会得到同样的错误。

【问题讨论】:

【参考方案1】:

我尝试部署

resource "aws_cognito_user_pool" "CognitoUserPool" 
name = "cgup-aws-try"
password_policy 
    minimum_length = 8
    require_lowercase = true
    require_numbers = true
    require_symbols = true
    require_uppercase = true
    temporary_password_validity_days = 7

lambda_config 
    

schema 
    attribute_data_type = "String"
    developer_only_attribute = false
    mutable = false
    name = "sub"
    string_attribute_constraints 
        max_length = "2048"
        min_length = "1"
    
    required = true
  

成功了。

也许尝试在新的工作区重新开始。

【讨论】:

所以看来我使用了太多模式,当我尝试只使用一个模式时,它也对我有用,但所有模式再次出现相同的错误。所以可能是这个问题的错误错误消息。

以上是关于创建 AWS Cognito 用户池时出现 Terraform 错误的主要内容,如果未能解决你的问题,请参考以下文章

在 cognito 用户池中添加 lambda 触发器时出现 404 错误

使用 Amplify 将现有 AWS Cognito 用户池集成到 iOS 项目中

是否可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics?

具有 Cognito 用户池授权方的 AWS SAM API

AWS Cognito 在尝试登录时出现 BadRequest 错误

lambda 中的 AWS Cognito 用户池 AdminCreateUser 不返回错误也不返回数据