首页 > 解决方案 > Python Gsutil Google SDK 外壳

问题描述

当我从 google sdk Shell 运行命令时,我没有收到错误:

# login
gcloud auth login
# upload files to bucket : google cloud storage
gsutil cp "My_File_Path" gs://"My_Bucket_Name

当我从 windows cmd 运行相同的命令时,出现错误:AccessDeniedException: 403 Insufficient Permission

我愿意从 windows cmd 运行命令,因此我可以使用以下命令在我的 python 脚本上轻松地自动化它:

import os
os.system("gcloud auth login")
os.system("gsutil cp 'Path_To_File' gs://'Bucket_Name'")

在 windows cmd 上: os.system("gcloud auth login") 运行没有错误,第二个命令得到错误: AccessDeniedException: 403 Insufficient Permission

标签: pythongoogle-cloud-storage

解决方案


gcloud auth login正在生成一个链接,您必须按照该链接对 Coud SDK 进行身份验证。所以它可能可以在没有身份验证错误的情况下运行,因为它只返回一个链接并且正在等待验证码。但是运行它gsutil需要经过身份验证的 Cloud SDK。

如果您需要使用 Python 上传文件,我认为使用 Python API 的方式更好。谷歌文档中有一个很好的例子。如果要设置 Python API 身份验证,则需要设置环境变量,如本文所述

请也看看这个问题


推荐阅读