0
0
GcpHow-ToBeginner · 4 min read

How to Use Google Cloud Storage with Python: Simple Guide

To use Google Cloud Storage with Python, install the google-cloud-storage library, authenticate with your Google Cloud account, and use the Client class to interact with buckets and files. This lets you upload, download, and manage files easily in your cloud storage.
📐

Syntax

The main steps to use Google Cloud Storage in Python are:

  • Import the library: Use from google.cloud import storage.
  • Create a client: storage.Client() connects your code to your cloud project.
  • Access a bucket: Use client.get_bucket('bucket-name') to get your storage bucket.
  • Upload a file: Create a blob and use blob.upload_from_filename('local-file-path').
  • Download a file: Use blob.download_to_filename('local-file-path') to save a file locally.
python
from google.cloud import storage

client = storage.Client()
bucket = client.get_bucket('your-bucket-name')
blob = bucket.blob('remote-file-name')

# Upload a file
blob.upload_from_filename('local-file-path')

# Download a file
blob.download_to_filename('local-file-path')
💻

Example

This example shows how to upload a file named example.txt to a bucket and then download it back with a new name.

python
from google.cloud import storage

# Initialize client
client = storage.Client()

# Replace with your bucket name
bucket_name = 'your-bucket-name'
bucket = client.get_bucket(bucket_name)

# File names
local_file = 'example.txt'
remote_file = 'uploaded-example.txt'
downloaded_file = 'downloaded-example.txt'

# Upload file
blob = bucket.blob(remote_file)
blob.upload_from_filename(local_file)
print(f'Uploaded {local_file} to {remote_file}')

# Download file
blob.download_to_filename(downloaded_file)
print(f'Downloaded {remote_file} to {downloaded_file}')
Output
Uploaded example.txt to uploaded-example.txt Downloaded uploaded-example.txt to downloaded-example.txt
⚠️

Common Pitfalls

Common mistakes when using Google Cloud Storage with Python include:

  • Not setting up authentication properly. You must set the GOOGLE_APPLICATION_CREDENTIALS environment variable to your service account key file.
  • Using incorrect bucket names or file paths.
  • Forgetting to install the google-cloud-storage library with pip install google-cloud-storage.
  • Trying to access buckets or files without proper permissions.

Always check your credentials and permissions first.

python
## Wrong: No authentication setup
from google.cloud import storage
client = storage.Client()  # This will fail if credentials are missing

## Right: Set environment variable before running
# export GOOGLE_APPLICATION_CREDENTIALS='/path/to/key.json'
# Then run the Python script
📊

Quick Reference

Here is a quick summary of key methods:

ActionMethodDescription
Create clientstorage.Client()Connects to your Google Cloud project
Get bucketclient.get_bucket('bucket-name')Access your storage bucket
Create blobbucket.blob('file-name')Represents a file in the bucket
Upload fileblob.upload_from_filename('local-path')Uploads local file to cloud
Download fileblob.download_to_filename('local-path')Downloads file from cloud

Key Takeaways

Install and import the google-cloud-storage library to work with cloud storage in Python.
Authenticate using a service account and set the GOOGLE_APPLICATION_CREDENTIALS environment variable.
Use storage.Client() to connect, then get_bucket() and blob() to manage files.
Always check permissions and bucket names to avoid access errors.
Upload and download files with blob.upload_from_filename() and blob.download_to_filename().