0
0
GcpHow-ToBeginner · 4 min read

How to Upload File to Google Cloud Storage Quickly

To upload a file to Google Cloud Storage, use the gsutil cp command or the Cloud Storage client libraries. The gsutil cp command copies your local file to a storage bucket, while client libraries let you upload files programmatically.
📐

Syntax

There are two main ways to upload files to Google Cloud Storage:

  • Command line: Use gsutil cp [LOCAL_FILE_PATH] gs://[BUCKET_NAME]/[DESTINATION_PATH] to copy files.
  • Client library (Python example): Use bucket.blob('DESTINATION_PATH').upload_from_filename('LOCAL_FILE_PATH') to upload files programmatically.

Replace [LOCAL_FILE_PATH] with your file path, [BUCKET_NAME] with your storage bucket name, and [DESTINATION_PATH] with the path inside the bucket.

bash
gsutil cp [LOCAL_FILE_PATH] gs://[BUCKET_NAME]/[DESTINATION_PATH]
💻

Example

This example shows how to upload a local file named photo.jpg to a bucket called my-bucket using Python. It demonstrates initializing the client, selecting the bucket, and uploading the file.

python
from google.cloud import storage

# Initialize client
client = storage.Client()

# Select bucket
bucket = client.bucket('my-bucket')

# Create a blob object for the destination file
blob = bucket.blob('uploads/photo.jpg')

# Upload local file
blob.upload_from_filename('photo.jpg')

print('File uploaded successfully.')
Output
File uploaded successfully.
⚠️

Common Pitfalls

  • Not setting up authentication: You must configure Google Cloud credentials before uploading.
  • Using wrong bucket names or paths: Ensure the bucket exists and the path is correct.
  • File permissions: The service account or user must have storage.objects.create permission.
  • Uploading large files without chunking: For big files, use resumable uploads to avoid failures.
python
## Wrong way: Missing authentication
from google.cloud import storage
client = storage.Client()  # This will fail if credentials are not set

## Right way: Set environment variable for credentials
# export GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"

# Then run the same code to authenticate properly
📊

Quick Reference

Here is a quick cheat sheet for uploading files to Google Cloud Storage:

ActionCommand / Code Snippet
Upload file via CLIgsutil cp localfile.txt gs://my-bucket/path/
Upload file via Pythonblob.upload_from_filename('localfile.txt')
Set credentialsexport GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"
Check bucket existsgsutil ls gs://my-bucket
Grant upload permissiongcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:ACCOUNT --role=roles/storage.objectCreator

Key Takeaways

Use gsutil cp command or client libraries to upload files to Google Cloud Storage.
Always configure authentication with service account credentials before uploading.
Verify bucket name and permissions to avoid upload errors.
For large files, consider resumable uploads to prevent failures.
Use the quick reference commands to speed up your workflow.