javascript - 在 appengine 中使用网络推送
问题描述
我正在尝试在我的 appengine Web 应用程序中使用 HTML5 Web Push。我让前端正常工作,甚至可以使用 ajax 获取订阅数据并将其存储在我的数据库中,然后在发生正确事件时检索它。但是,我无法弄清楚我必须使用哪个库来推送它。
标准集pywebpush中的那个使用了我不能在 appengine 上使用的基于 c 的密码库。我找不到使用 pycrypto 的单个 web 推送 python 库:solidwebpush是相同的方式。
那么我是否必须编写自己的包含所有加密内容的 Web 推送库,这是一项相当艰巨的任务?或者是否有一些我缺少的更简单的方法或库。顺便说一句,灵活的应用程序引擎由于成本原因并不是一个真正的选择,而且我使用的是 python 2.7
解决方案
您使用 C 扩展引入依赖项的选项cryptography
仅限于:
- App Engine Flex:具有 Python 2.7 和 3.6 运行时(由于成本,您已经排除了这一点)
- App Engine Standard w/ Python 3.7:App Engine 的最新 Python 运行时,它支持所有依赖项(由于使用 Python 2.7,您已经排除了这一点)
- Cloud Functions w/ Python 3.7:还支持所有依赖项(由于在 Python 2.7 上,您已经排除了这一点)
所以看起来你要么需要迁移到 Python 3,要么在这里接受额外的成本。