我如何才能看到张贴到谷歌应用引擎上托管的Flask应用程序端点的有效负载



我有一个带有/do_a_thing端点的Flask API。当在本地托管时,我可以使用UI或Postman发送JSON负载,端点接收并按预期工作。当部署到App Engine并发送到PubSub,然后发送到/do_a_thing端点时,它在解析负载时会遇到key_error。

我如何在谷歌应用程序引擎中验证有效负载结构/数据类型。似乎没有控制台或日志记录/显示有效负载。我想知道它是否正在被改造。

我使用的是flask,所以解析是这样做的:

payload_as_dictionary = request.json
value_i_want = payload_as_dictionary['key']

您的端点现在正在创建一个错误,因此可能不会发回响应。如果无法访问控制台来查看发生了什么,则需要执行以下操作:

from flask import jsonify
try:
payload_as_dictionary = request.json
value_i_want = payload_as_dictionary['key']
except Exception as e:
return jsonify({
'error': str(e),
'payload': payload_as_dictionary 
})

将try-except块中的所有内容都打包,以便捕获每个错误。虽然通常情况下这并不理想,但这可能是一个很好的临时解决方案,可以看看发生了什么。

现在,当您发送post请求时,您将使用请求期间抛出的错误(如果有的话(的字符串表示形式将有效负载返回给您。

最新更新