使用 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)

有幾種方法可以上傳檔案。你可以期待 POSTPUT 請求的有效負載中的檔案,或者在檔案系統上本地使用它。你甚至可以將文字直接傳送到文字檔案。

# 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