如果您使用的是 Amazon Lex V2,请改为参阅 Amazon Lex V2 指南。
如果您使用的是 Amazon Lex V1,我们建议您将机器人升级到 Amazon Lex V2。我们不再向 V1 添加新功能,强烈建议使用 V2 以获得全新的机器人。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在消息收发平台上部署 Amazon Lex 机器人
本节说明如何在 Facebook、Slack 和 Twilio 消息收发平台上部署 Amazon Lex 机器人。
注意
在存储您的 Facebook、Slack 或 Twilio 配置时,Amazon Lex 使用 AWS Key Management Service 客户托管式密钥来加密信息。首次创建通往这些消息收发平台之一的通道时,Amazon Lex 将创建一个默认的客户托管式密钥 (aws/lex
)。或者,您可以使用 AWS KMS 创建自己的客户托管式密钥。这可以提高灵活性,包括提供创建、轮换和禁用密钥的能力。您还可以定义访问控制,并审核用于保护数据的加密密钥。有关更多信息,请参见 AWS Key Management Service 开发人员指南。
当消息收发平台向 Amazon Lex 发送请求时,它将包含平台特定信息作为您的 Lambda 函数的请求属性。使用这些属性可自定义您的自动程序的行为方式。有关更多信息,请参阅设置请求属性。
所有属性采用命名空间 x-amz-lex:
作为前缀。例如,user-id
属性称为 x-amz-lex:user-id
。除了特定于特殊平台的属性之外,还有所有消息收发平台发送的通用属性。下表列出了消息收发平台发送到您的机器人的 Lambda 函数的请求属性。
属性 | 说明 |
---|---|
channel-id |
Amazon Lex 中的通道端点标识符。 |
channel-name |
Amazon Lex 中的通道名称。 |
channel-type |
下列值之一:
|
webhook-endpoint-url |
通道的 Amazon Lex 端点。 |
属性 | 说明 |
---|---|
user-id |
发件人的 Facebook 标识符。请参阅 https://developers.facebook.com/docs/messenger-platform/webhook-reference/message-received |
facebook-page-id |
收件人的 Facebook 页面标识符。请参阅 https://developers.facebook.com/docs/messenger-platform/webhook-reference/message-received |
属性 | 说明 |
---|---|
kik-chat-id |
您的聊天机器人正在进行的对话的标识符。有关更多信息,请参阅 https://dev.kik.com/#/docs/messaging#message-formats |
kik-chat-type |
消息源自的对话的类型。有关更多信息,请参阅 https://dev.kik.com/#/docs/messaging#message-formats |
kik-message-id |
标识消息的 UUID。有关更多信息,请参阅 https://dev.kik.com/#/docs/messaging#message-formats |
kik-message-type |
消息类型。有关更多信息,请参阅 https://dev.kik.com/#/docs/messaging#message-types |
属性 | 说明 |
---|---|
user-id |
发件人 (“From”) 的电话号码。请参阅 https://www.twilio.com/docs/api/rest/message |
twilio-target-phone-number |
收件人 (“To”) 的电话号码。请参阅 https://www.twilio.com/docs/api/rest/message |
属性 | 说明 |
---|---|
user-id |
Slack 用户标识符。请参阅 https://api.slack.com/types/user |
slack-team-id |
发送消息的团队的标识符。请参阅 https://api.slack.com/methods/team.info |
slack-bot-token |
为自动程序提供对 Slack API 的访问权限的开发人员令牌。请参阅 https://api.slack.com/docs/token-types |