使用 Python 上传文件
导入所需的库:
from gcloud import storage
定义所需的变量:
客户端 :绑定 API 请求所需的配置
client = storage.Client()
Client()
的可选参数:
- 项目 :客户代表的项目。将在创建主题时传递。如果未通过,则回退到从环境推断的默认值。
- 凭据 :用于连接的 OAuth2 凭据。如果未通过,则回退到从环境推断的默认值。
- http :发出请求的 HTTP 对象。如果未传递,则会创建一个
http
对象,该对象绑定到当前对象的凭据。
Bucket :通过 Google Cloud Console 选择在项目中创建的存储桶
bucket = client.get_bucket('<your-bucket-name>')
有关 Client
功能的更多详细信息,请参阅 Storage Client
Blob :将保存的文件名。
blob = bucket.blob('my-test-file.txt')
你还可以定义这样的目录:
filename = "%s/%s" % (folder, filename)
blob = bucket.blob(filename)
有几种方法可以上传文件。你可以期待 POST
或 PUT
请求的有效负载中的文件,或者在文件系统上本地使用它。你甚至可以将文本直接发送到文本文件。
# Uploading string of text
blob.upload_from_string('this is test content!')
# Uploading from a local file using open()
with open('photo.jpg', 'rb') as photo:
blob.upload_from_file(photo)
# Uploading from local file without open()
blob.upload_from_filename('photo.jpg')
有关上载功能的更多详细信息,请参阅 Blob / Objects
如果你需要公开 blob,可以将文件的隐私设置为 public:
blob.make_public()
url = blob.public_url