python - 在 Alexa 技能 lambda 函数中,我可以在调用某个意图时调用 shell 脚本吗?
问题描述
我有一个远程 postfix 邮件服务器,当用户询问“阅读我的信息”时,我想为用户返回一些数据。为此,在我的 getResponse() 函数中,我调用了一个函数 getInfo(),我将把它的返回值传递给 Speech_output。在这个函数中,我想使用 ssh 访问远程机器并收集数据。
目前,我在同一目录中有一个 shell 脚本,可以从远程服务器收集数据,称为retrieveInfo.sh,它将数据写入文件调用readingFile。我在 getInfo() 函数中编写了以下代码:
subprocess.call(['./retrieveInfo.sh'])
f=open("./readingFile", "r")
retVal = f.read()
return retVal
所有这些代码都有效,除了子流程调用。但是,当我运行此代码时,包括另一个设置中的子进程调用(不是 Alexa 测试,只是我自己的调试),一切正常。这与打包部署有关吗?我试图上传一个安装了子进程的 zip 文件,但这似乎也不起作用。我不确定这是环境问题还是其他问题?
它基本上归结为以下几点:当一个意图被调用时,我怎样才能让它运行另一个程序来为我收集一些数据?或者有没有办法让我通过 lambda python 函数本身访问那台远程机器?我尝试使用 paramiko 进行包部署,但这也不起作用。
解决方案
推荐阅读
- swift - 在完成 [Swift] [Firebase] 之前返回的函数
- database - 使用取消选项向 Oracle Apex DB 添加或删除行
- swift - 如何停止计时器发布者?
- c# - 如何在 .net 核心中注册继承的通用存储库
- c# - c# Roll Dice 模拟返回每边落地的次数
- python - 为什么在打印列表时没有出现错误时出现 IndexError: string index out of range?
- typescript - Typescript 在 ES11 语法上崩溃
- html - 来自 Wikipedia 的解析器用户页面信息。如何去除冗余信息?
- html - 如何在 HTML 中使用模式允许几个不同的符号
- excel - 在 Excel 自定义函数中使用 Excel 上下文