App Engine部署时找不到文件

时间:2020-06-24 09:49:38

标签: google-app-engine flask google-cloud-platform google-cloud-storage google-app-engine-python

我正在制作一个需要访问我的Google Cloud Buckets中的文件的应用程序。 我使用了this教程来访问我的文件。 本教程说,您需要使用“服务帐户密钥页面” -json文件来访问存储桶,如下所示:

storage_client= storage.Client.from_service_account_json("/home/Project/red-freedom-XXXXX-XXXXXXXXX.json")

Json文件与main.py和app.yaml文件存储在同一文件夹中。 当我在本地运行该程序时,它运行平稳,但是当我部署它时,我得到:

FileNotFoundError: [Errno 2] No such file or directory: "/home/Project/red-freedom-XXXXX-XXXXXXXXX.json"

我该如何解决此问题?

1 个答案:

答案 0 :(得分:1)

您似乎使用的是基于本地文件系统的.json文件的绝对路径,但是在App Engine上,这需要使用其他路径。

相反,您可以在尝试创建客户端的文件中使用相对路径:

import os

current_directory = os.path.abspath(os.path.dirname(__file__))
path_to_service_account_json = os.path.join(current_directory, 'red-freedom-XXXXX-XXXXXXXXX.json')
storage_client= storage.Client.from_service_account_json(path_to_service_account_json)