我正在用 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
python amazon-web-services python-3.x aws-lambda alexa-skills-kit
我正在尝试部署一个使用 socket.io 来托管小型实时聊天网站的小烧瓶应用程序
我能够在本地成功运行它(127.0.0.1)
然后我使用以下文件将其部署到谷歌应用引擎:
主文件
from flask import Flask, render_template
from flask_socketio import SocketIO
app = Flask(__name__)
app.config['SECRET_KEY'] = 'vnkdjnfjknfl1232#'
socketio = SocketIO(app)
@app.route('/')
def sessions():
return render_template('session.html')
def messageReceived(methods=['GET', 'POST']):
print('message was received!!!')
@socketio.on('my event')
def handle_my_custom_event(json, methods=['GET', 'POST']):
print('received my event: ' + str(json))
socketio.emit('my response', json, callback=messageReceived)
if __name__ == '__main__':
socketio.run(app, debug=True)
Run Code Online (Sandbox Code Playgroud)
应用程序.yaml
runtime: python
network:
session_affinity: true
Run Code Online (Sandbox Code Playgroud)
要求.txt
Flask==0.12.2
flask-socketio
eventlet==0.17.4
gunicorn==18.0.0
Run Code Online (Sandbox Code Playgroud)
旁边是一个完整的 HTML 页面,其中包含以下脚本:
<form action="" method="POST">
<input type="text" class="username" placeholder="User Name"/>
<input …Run Code Online (Sandbox Code Playgroud)