首页 > 解决方案 > 在 Google Cloud Platform 上部署 Flask 应用程序时出错

问题描述

当我尝试部署到谷歌应用引擎时出现此错误:错误:(gcloud.app.deploy)错误响应:[3]。这是我第一次在 GCP 上试用 Flask 应用程序,所以我不确定如何处理。

ERROR: (gcloud.app.deploy) Error Response: [3] The following errors occurred while copying files to App Engine:
    File https://storage.googleapis.com/staging.<app_id>.appspot.com/02aad073e7e7b22302caeca9aa3d6aaf227d7d91 failed with: Conflicting SHA1 sum for file. Expected "e0962ea6_8c330ca4_d3fff179_b1f68032_ef476e8e" but received "02aad073_e7e7b223_02caeca9_aa3d6aaf_227d7d91".

Details: [
 [
    {
      "@type": "type.googleapis.com/google.rpc.ResourceInfo",
      "description": "Conflicting SHA1 sum for file. Expected \"e0962ea6_8c330ca4_d3fff179_b1f68032_ef476e8e\" but received \"02aad073_e7e7b223_02caeca9_aa3d6aaf_227d7d91\".",
      "resourceName": "https://storage.googleapis.com/staging.<app_id>.appspot.com/02aad073e7e7b22302caeca9aa3d6aaf227d7d91",
      "resourceType": "file"
    }
 ]
]

对于 10 个具有完全相同描述的不同资源名称,总共有 10 个类似的错误。文件的 SHA1 和冲突是什么意思?我尝试删除暂存存储桶以删除与资源名称同名的临时文件(在本例中为 02aad073e7e7b22302caeca9aa3d6aaf227d7d9)导致错误,但这似乎不起作用。

标签: pythongoogle-app-enginedeploymentgoogle-cloud-platformflask-sqlalchemy

解决方案


您有 2 个以相同名称上传的不同文件。

要确定这是否确实是您的部署或暂存存储桶的问题,请创建一个新的干净存储桶并使用该新存储桶作为暂存存储桶再次尝试部署:

$ gsutil mb gs://new-staging-bucket
$ gcloud app deploy --bucket gs://new-staging-bucket

如果您在使用干净的存储桶时遇到相同的错误,那么您在部署期间以某种方式上传了几个具有相同名称的不同文件。

如果使用干净的存储桶有效,那么问题在于您在部署期间使用的暂存存储桶。


推荐阅读