python - 如何在云中为 python 覆盖 GOOGLE_APPLICATION_CREDENTIALS

标签 python django google-cloud-storage gcloud

我正在使用 gcloud 为 Django 编写自定义文件存储。

并且在寻找服务帐户 JSON 的 gloud 路径方面存在问题。 我尝试使用 GOOGLE_APPLICATION_CREDENTIALS 变量:

GOOGLE_APPLICATION_CREDENTIALS = os.path.join(BASE_DIR, 'google.json')

但是没有效果。它总是在我项目的上层文件夹中查找 google.json(如果我把它放在那里,它工作正常)。我收到此错误:

oauth2client.client.ApplicationDefaultCredentialsError: File ../DjangoProjects/folder/google.json (pointed by GOOGLE_APPLICATION_CREDENTIALS environment variable) does not exist!

所以我的项目在 File ../DjangoProjects/folder/project_folder/google.json

那么,我该如何处理呢?

最佳答案

这只是为了澄清 Garrett Jones 的回答。这里可能会出现一些微妙的混淆:

在给定的代码示例中,GOOGLE_APPLICATION_CREDENTIALS 是一个 python 变量名。它的应该是指向文件的环境变量的名称:

GOOGLE_APPLICATION_CREDENTIALS = "GOOGLE_APPLICATION_CREDENTIALS"

在此示例中,我们假设有一个名为“GOOGLE_APPLICATION_CREDENTIALS”的环境变量,其值为文件路径(类似于“/home/anon/workspace/myProject/google_creds. json")

可以使用特定于操作系统的方法或使用 python 本身在环境中设置环境变量,这可以在程序运行时修改环境(这就是 Adam 对 Garrett 答案的评论所展示的,使用 os.环境).

关于python - 如何在云中为 python 覆盖 GOOGLE_APPLICATION_CREDENTIALS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33545019/

相关文章:

python - 在numpy数组中找到none和nan的索引

python - 无法在 Django 应用程序中创建图像字段

python - 将两个日期时间对象转换为每月日期时间范围

python - 有谁知道使用 python 实现谷歌身份验证的任何好的完整资源?

google-cloud-storage - 密码保护托管在 Google Cloud Storage 上的网站

google-app-engine - Google Cloud Storage 不能与 Google Apps 一起使用?

python - 使用 for 循环将值分配给 pandas DataFrame 列

python - Django 一对多模型

django - 如何自定义 django rest auth 电子邮件上下文

google-app-engine - 使用 Google Cloud Console 在 Google Cloud Storage 中的文件夹之间移动文件