You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform创建AWS Lex Bot遇BadRequestException:FallbackIntent未找到

解决AWS Lex Bot Terraform创建时的FallbackIntent找不到错误

问题原因

报错的核心是你在Bot配置中引用的FallbackIntent在当前AWS环境中不存在,无法被Bot关联。Terraform创建aws_lex_bot资源时,要求关联的Intent必须是已存在的资源(无论是自定义创建还是AWS内置的),直接引用FallbackIntent时,要么该内置意图未在你的环境中启用,要么引用方式不正确。

解决方案

最可靠的方式是先创建一个自定义的FallbackIntent资源,再将其关联到Lex Bot上。这样Terraform会自动处理资源依赖顺序,先创建Intent再创建Bot,避免找不到资源的错误。

修改后的完整代码

# 创建自定义FallbackIntent资源
resource "aws_lex_intent" "fallback_intent" {
  name           = "FallbackIntent"
  description    = "处理无法识别输入的默认回退意图"
  fulfillment_activity {
    type = "ReturnIntent"
  }
  sample_utterances = ["", "help", "what", "huh"]

  conclusion_statement {
    message {
      content_type = "PlainText"
      content      = "抱歉,我没听懂,请换个说法试试?"
    }
  }

  rejection_statement {
    message {
      content_type = "PlainText"
      content      = "好的,我们换个话题吧。"
    }
  }
}

# 创建Lex Bot并关联自定义FallbackIntent
resource "aws_lex_bot" "chatbot-autoreply" {        
  name = "Chat_AutoReply"
  child_directed = false
  abort_statement {
    message {
      content_type = "PlainText"
      content      = "脚本已终止,请查看abort_statement配置"
    }         
  }
  intent {
    intent_name    = aws_lex_intent.fallback_intent.name
    intent_version = aws_lex_intent.fallback_intent.version
  }
}

说明

  • 通过aws_lex_intent资源定义自定义回退意图,确保Bot创建时该资源已存在
  • 使用Terraform的资源引用(aws_lex_intent.fallback_intent.name)自动获取意图名称和版本,避免手动输入错误
  • 自定义意图可以根据需求调整sample_utterances、conclusion_statement等配置,适配业务场景

内容的提问来源于stack exchange,提问作者sutterhome1971

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:02:41