Iro*_*key 5 python amazon-web-services python-3.x aws-lambda alexa-skills-kit
我正在用 python 开发一个简单的亚马逊 Alexa 技能。我已经为这个简单的应用程序编写了所有代码,并将其加载到我的 lambda 函数中,我已经测试过 lambda 已加载我导入的库并且它可以与它们一起使用,但是当我使用这个最终代码时,它会出现“所请求的技能响应出现问题” ”
def handle(self, handler_input):
# type: (HandlerInput) -> Response
# https://repl.it/repls/UselessOptimalPipeline
url = "http://jokepro.dx.am/"
source = requests.get(url)
bs4call = bs4.BeautifulSoup(source.text, "html.parser")
obj = bs4call.find('object')
text = requests.get(url + obj['data']).text
# print(text) # <-- to print the textfile
finalJoke = random.choice(text.splitlines())
speak_output = finalJoke
return (
handler_input.response_builder
.speak(speak_output)
#.ask()
.response
)
Run Code Online (Sandbox Code Playgroud)
这是处理函数
lambda 是否与该代码中的任何内容冲突?为什么它不起作用?
更新:这是一些相关信息
要求.txt
boto3==1.9.216
ask-sdk-core==1.11.0
bs4==4.8.2
requests==2.22.0
Run Code Online (Sandbox Code Playgroud)
这一切都不要通过亚马逊开发控制台https://developer.amazon.com/alexa/console/ask
编辑: 我很抱歉没有要求您提供问题的完整详细信息
根据我的过期情况,您的问题与未正确配置依赖项有关。部署该函数时,所有依赖项必须在requriements.txt. 为了获得正确的依赖关系,我建议使用pipenv.
例如,以下命令将显示项目的完整依赖关系树:
pipenv install requestspipenv install bs4pipenv lock -r > requirements.txt这些命令的结果显示您的requirements.txt文件由于添加了这两个库而具有以下依赖项:
beautifulsoup4==4.8.2
bs4==0.0.1
certifi==2019.11.28
chardet==3.0.4
idna==2.8
requests==2.22.0
soupsieve==1.9.5
urllib3==1.25.8
Run Code Online (Sandbox Code Playgroud)
您的项目需要所有这些才能正确导入模块。当然,你还需要你的 boto3 和 Ask-sdkrequirements.txt,但是,它们本身就包含在 lambda 中,因此您不需要依赖项。
对于任何未原生包含在 lambda 中的库,您需要遵循此过程。有关本机包含的库的列表,请参阅:Lambda 包。
| 归档时间: |
|
| 查看次数: |
791 次 |
| 最近记录: |