将文件上传到 Amazon Lex
Uploading a file to Amazon Lex
我正在使用 Amazon Lex 创建一个聊天机器人,其想法是用户可以将 Excel 文件放入 Slack 通道,然后机器人将文件发送到适当的 Lambda 函数。实现此目标的最佳方法是什么?
如果 Lex 机器人将文件上传到其他可访问的地方(s3、EC2、Github 等),然后将地址发送到 Lambda 函数,这也是可以接受的。
我没有看到任何 SlotTypes
支持这种类型的输入。
Lex PostText 或 PostContent 方法不支持上传加载文件。
- 在 slack 中,当用户上传文件时,您将在负载中获得文件 url。
- 创建插槽类型,例如 - 文件。将枚举值保持为 uploaded.
- 当 slotToElicit 为 File 时检查 payload 中是否存在 url。如果存在,则使用会话属性将 URL 发送到 lex,并将插槽值填充为 Uploaded(默认值)。如果用户没有上传文件,请用一些随机文本填充插槽值以再次引出插槽。
- 借助会话属性,您可以访问文件并将其上传到 S3。
我正在使用 Amazon Lex 创建一个聊天机器人,其想法是用户可以将 Excel 文件放入 Slack 通道,然后机器人将文件发送到适当的 Lambda 函数。实现此目标的最佳方法是什么?
如果 Lex 机器人将文件上传到其他可访问的地方(s3、EC2、Github 等),然后将地址发送到 Lambda 函数,这也是可以接受的。
我没有看到任何 SlotTypes
支持这种类型的输入。
Lex PostText 或 PostContent 方法不支持上传加载文件。
- 在 slack 中,当用户上传文件时,您将在负载中获得文件 url。
- 创建插槽类型,例如 - 文件。将枚举值保持为 uploaded.
- 当 slotToElicit 为 File 时检查 payload 中是否存在 url。如果存在,则使用会话属性将 URL 发送到 lex,并将插槽值填充为 Uploaded(默认值)。如果用户没有上传文件,请用一些随机文本填充插槽值以再次引出插槽。
- 借助会话属性,您可以访问文件并将其上传到 S3。