Мой main.py файл в корневой папке выглядит следующим образом.
app = Flask(__name__)
def configure_app(app):
app.config['SERVER_NAME'] = settings.FLASK_SERVER_NAME
app.config['SWAGGER_UI_DOC_EXPANSION'] = settings.RESTPLUS_SWAGGER_UI_DOC_EXPANSION
app.config['RESTPLUS_VALIDATE'] = settings.RESTPLUS_VALIDATE
app.config['RESTPLUS_MASK_SWAGGER'] = settings.RESTPLUS_MASK_SWAGGER
app.config['ERROR_404_HELP'] = settings.RESTPLUS_ERROR_404_HELP
def initialize_app(app):
configure_app(app)
blueprint = Blueprint('api', __name__, url_prefix='/api')
api.init_app(blueprint)
api.namespaces.pop(0) #this is to remove default namespace from swagger doc
api.add_namespace(user_namespace)
app.register_blueprint(blueprint)
def main():
initialize_app(app)
app.run(debug=settings.FLASK_DEBUG)
if __name__ == "__main__":
main()
Мой файл app.yaml выглядит следующим образом.
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 3
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
Ниже приведен файл needs.txt .
Flask==1.0.2
flask-restplus==0.11.0
gunicorn==19.9.0
Я использую GAE в гибкой среде.
Я выполнил шаги, описанные в https://cloud.google.com/appengine/docs/flexible/python/quickstart, и смог успешно развернуть приложение в ядре приложения.
Когда я перехожу по ссылке appspot, я получаю 404 ошибки и хвост журналов gcloud, как показано ниже.
2018-09-09 01:49:00 default[20180909t113222] "GET /" 404
2018-09-09 01:49:01 default[20180909t113222] "GET /favicon.ico" 404
2018-09-09 01:49:09 default[20180909t113222] "GET /api/" 404
Я пытался найти решение, но так и не нашел того, которое соответствует моему сценарию.
Любая помощь в этом очень ценится.
Спасибо.