过去几天,我一直在将不同版本的应用程序部署到google cloud。成功上传一些大文件后,突然我收到此错误:
错误:(gcloud.app.deploy)无法上传文件[/Users/tgb29/Desktop/shaforms2/python-docs-samples/appengine/flexible/storage/shaforms.bin],文件大小为[803047362](更大大于[33554432]的最大允许大小。)请删除该文件或将其添加到应用程序.yaml文件的skip_files条目中,然后重试。
我不确定在一次部署中发生了什么变化。
答案 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