无法使用AWS Lex Api创建机器人

时间:2017-08-22 03:32:37

标签: amazon-web-services bots

目前,我正在使用lex开发chatbot平台,但每当我尝试创建机器人时,它总是给我一个错误响应

这是我的代码

 @lex = Aws::LexModelBuildingService::Client.new
    params =
    {
      "name": "TestBot",
      "abortStatement": {
          "messages": [
              {
                  "content": "Sorry, I'm not able to assist at this time",
                  "contentType": "PlainText"
              }
          ]
      },
       "child_directed": true,
       "clarificationPrompt": {
          "maxAttempts": 3,
          "messages": [
             {
               "content": "I didn't understand you, what would you like to do?",
               "contentType": "PlainText"
             }
          ]
       },
       "description": "Test Bot ",
       "idleSessionTTLInSeconds": 600,
       "locale": "en-US",
       "voiceId": "Salli"
    }
    @lex.put_bot(params)

错误

ArgumentError: parameter validator found 4 errors:
  - unexpected value at params[:abortStatement]
  - unexpected value at params[:clarificationPrompt]
  - unexpected value at params[:idleSessionTTLInSeconds]
  - unexpected value at params[:voiceId]

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

好吧,我找到了解决方案。密钥应以小写字母书写,每个单词必须用“_”分隔。这是params的代码

{
  "name": "TestBot",
  "abort_statement": {
      "messages": [
          {
              "content": "Sorry, I'm not able to assist at this time",
              "content_type": "PlainText"
          }
      ]
  },
   "child_directed": true,
   "clarification_prompt": {
      "max_attempts": 3,
      "messages": [
         {
           "content": "I didn't understand you, what would you like to do?",
           "content_type": "PlainText"
         }
      ]
   },
   "description": "Test Bot ",
   "idle_session_ttl_in_seconds": 600,
   "locale": "en-US",
   "voice_id": "Salli"
}