Python Client for Google Cloud Storage

image image image

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:

  1. Select or create a Cloud Platform project.

  2. Enable billing for your project.

  3. Enable the Google Cloud Storage API.

  4. Setup Authentication.

Installation

Set up a Python development environment and install this library in a venv. venv is a tool to create isolated Python environments. The basic problem it addresses is one of dependencies and versions, and indirectly permissions.

Make sure you’re using Python 3.3 or later, which includes venv by default. With venv, 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

python -m venv env
source env/bin/activate
pip install google-cloud-storage

Windows

py -m venv env
.\env\Scripts\activate
pip install google-cloud-storage

Example Usage

# Imports the Google Cloud client library
from google.cloud import storage

# Instantiates a client
client = storage.Client()

# Creates a new bucket and uploads an object
new_bucket = client.create_bucket('new-bucket-id')
new_blob = new_bucket.blob('remote/path/storage.txt')
new_blob.upload_from_filename(filename='/local/path.txt')

# Retrieve an existing bucket
# https://console.cloud.google.com/storage/browser/[bucket-id]/
bucket = client.get_bucket('bucket-id')
# Then do other things...
blob = bucket.get_blob('remote/path/to/file.txt')
print(blob.download_as_bytes())
blob.upload_from_string('New contents!')

What’s Next

Now that you’ve set up your Python client for Cloud Storage, you can get started running Storage samples.