部署到Google App Engine

时间:2019-01-14 23:28:37

标签: google-app-engine google-cloud-platform

过去几天,我一直在将不同版本的应用程序部署到google cloud。成功上传一些大文件后,突然我收到此错误:

错误:(gcloud.app.deploy)无法上传文件[/Users/tgb29/Desktop/shaforms2/python-docs-samples/appengine/flexible/storage/shaforms.bin],文件大小为[803047362](更大大于[33554432]的最大允许大小。)请删除该文件或将其添加到应用程序.yaml文件的skip_files条目中,然后重试。

我不确定在一次部署中发生了什么变化。

2 个答案:

答案 0 :(得分:0)

App Engine在部署新版本时对文件数量和文件大小有限制,请引用documentation

  

一个应用程序仅限于   每个版本10,000个上传的文件。 每个文件限制为最大   大小为32 MB 。此外,如果所有文件的总大小为   所有版本都超过了最初的免费1 GB,那么将会有一个   每GB每月0.026美元的费用。

由于文件shaforms.bin似乎超出了此限制,因此只要包含该文件的版本就无法部署。

解决方案是在没有此文件的情况下部署应用程序,例如,在Python Standard运行时中,您可以添加skip_files flag来忽略某些文件,在这种情况下,您可以通过将以下行添加到app.yaml配置文件:

skip_files:
- /Users/tgb29/Desktop/shaforms2/python-docs-samples/appengine/flexible/storage/shaforms.bin

同样,如果您需要从应用程序提供此文件,最好的方法是将其上传到Google Cloud Storage并使用Client Libraries从那里提供。

答案 1 :(得分:0)

我认为此问题已重新添加到Google App Engine标准Java 8中。 当我使用java11时,问题消失了。

这个app.yaml对我有用:

runtime: java11
env: standard
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

启动方式:

gcloud app deploy