Python Client for Google Cloud Storage¶
Google Cloud Storage allows you to store data on Google infrastructure with very high reliability, performance and availability, and can be used to distribute large data objects to users via direct download.
Quick Start¶
In order to use this library, you first need to go through the following steps:
Installation¶
Install this library in a virtualenv using pip. virtualenv is a tool to create isolated Python environments. The basic problem it addresses is one of dependencies and versions, and indirectly permissions.
With virtualenv, it’s possible to install this library without needing system install permissions, and without clashing with the installed system dependencies.
Supported Python Versions¶
Python >= 3.6
Deprecated Python Versions¶
Python == 2.7: Python 2.7 support will be removed sometime after January 1, 2020.
Unsupported Python Versions¶
Python == 3.5: the last released version which supported Python 3.5 was
google-cloud-storage 1.32.0
, released 2020-10-16.
Mac/Linux¶
pip install virtualenv
virtualenv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install google-cloud-storage
Windows¶
pip install virtualenv
virtualenv <your-env>
<your-env>\Scripts\activate
<your-env>\Scripts\pip.exe install google-cloud-storage
Example Usage¶
You need to create a Google Cloud Storage bucket to use this client library. Follow along with the official Google Cloud Storage documentation to learn how to create a bucket.
from google.cloud import storage
client = storage.Client()
# https://console.cloud.google.com/storage/browser/[bucket-id]/
bucket = client.get_bucket('bucket-id-here')
# Then do other things...
blob = bucket.get_blob('remote/path/to/file.txt')
print(blob.download_as_bytes())
blob.upload_from_string('New contents!')
blob2 = bucket.blob('remote/path/storage.txt')
blob2.upload_from_filename(filename='/local/path.txt')
Note
Because the storage client uses the third-party requests
library by
default, it is safe to share instances across threads. In multiprocessing
scenarious, best practice is to create client instances after
multiprocessing.Pool
or multiprocessing.Process
invokes
os.fork()
.
API Reference¶
Changelog¶
- Changelog
- 1.42.1 (2021-09-07)
- Bug Fixes
- Documentation
- 1.42.0 (2021-08-05)
- 1.41.0 (2021-07-13)
- 1.40.0 (2021-06-30)
- 1.39.0 (2021-06-21)
- 1.38.0 (2021-04-26)
- 1.37.0 (2021-03-24)
- 1.36.0 (2021-02-10)
- 1.35.0 (2020-12-14)
- 1.34.0 (2020-12-11)
- 1.33.0 (2020-11-16)
- 1.32.0 (2020-10-16)
- 1.31.0 (2020-08-26)
- 1.30.0 (2020-07-24)
- 1.29.0 (2020-06-09)
- 1.28.0 (2020-04-22)
- 1.27.0 (2020-04-01)
- 1.26.0 (2020-02-12)
- 1.25.0
- 1.24.1
- 1.24.0
- 1.23.0
- 1.22.0
- 1.21.0
- 1.20.0
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.1
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.2
- 1.13.1
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.0
- 1.8.0
- 1.7.0
- 1.6.0