Unk*_*der 5 python google-app-engine flask swagger google-cloud-platform
我使用Swagger编辑器创建了一个REST API,并且我已经请求了Python Flask的服务器代码下载.我正在尝试将其部署到Google Cloud Platform(我认为这是最新名称?还是GAE?)但我需要填补一些空白.
我知道Swagger代码有效,因为我在本地部署它没有任何问题.但是,它使用连接库而不是Flask.
我大部分都失去了如何为GCP合并app.yaml文件以及生成的代码中的正确入口点.另外,我知道生成的代码声明它自己的应用服务器,我认为你不需要为GCP做.这是我目前的app.yaml
application: some-app-name
version: 1
runtime: python27
api_version: 1
threadsafe: yes
entrypoint: python app.py
libraries:
- name: connexion
version: "latest"
Run Code Online (Sandbox Code Playgroud)
这是我的app.py.
import connexion
if __name__ == '__main__':
app = connexion.App(__name__, specification_dir='./swagger/')
app.add_api('swagger.yaml', arguments={'title': 'this is my API'})
app.run(port=8080)
Run Code Online (Sandbox Code Playgroud)
我现在得到的主要错误是
google.appengine.api.yaml_errors.EventError: the library "connexion" is not supported
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,因为我在app.py中声明app服务器的方式 - 可能不需要它.如何修改此文件仍然使用我的Swagger代码但在GCP上运行?
您的文件中似乎存在一些不一致之处,目前尚不清楚您是否打算将其作为标准环境app.yaml文件还是灵活环境文件。我不知道是因为我不熟悉招摇和摇摇欲坠。
如果应该将其作为标准环境,则:
entrypoint:不是受支持的config关键字connexion库不是运行时提供的第三方库之一,因此您无法请求它(即在本libraries节中列出)。您需要安装它(供应商在)。
handlers部分在App Engine标准环境中阅读Flask入门可能是一个好主意
但是,如果您的目标是一个灵活的环境app.yaml文件,那么:
env: flex,并runtime: python配置在它(vm: true并runtime: python27在原有的答案,现在已被弃用)libraries节进行。| 归档时间: |
|
| 查看次数: |
731 次 |
| 最近记录: |