AWS Lex Lambda return 多行 Python

AWS Lex Lambda return multiple lines with Python

我一直在阅读 AWS Lex/Lambda 文档并查看示例。 我看不到 return 多行的方法。

我想创建一个意图,当用户键入 'Help' 它会给我如下所示的输出。

Options:
  Deploy new instance.
  Undeploy instance.
  List instances.

我试过这个:

def lambda_handler(event, context):
    logger.debug('event.bot.name={}'.format(event['bot']['name']))
    a = {
        "dialogAction": {
        "type": "Close",
        "fulfillmentState": "Fulfilled",
        "message": {
            "contentType": "PlainText",
            "content": "Options: \nDeploy instance.\nUndeploy instance."
        }
      }
    }
    return a

如何向用户显示消息完全取决于您使用的输出通道。

\n 据我所知,在 Facebook 和 Slack 中运行良好。

Lex 控制台测试聊天有其自己独特的格式来显示 Lex 输出,因此它对于测试消息的格式不是很可靠。它真的只对快速测试有用,以确保您的机器人响应无误。看看 Lex JSON 的回应。

每个输出通道都会收到 Lex JSON 响应并以自己的方式显示,因此测试消息格式、链接、图像和响应卡的唯一可靠方法是在实际中进行测试频道。