Python
0.02.2
Source code for gcloud.storage.__init__
"""Shortcut methods for getting set up with Google Cloud Storage.
You'll typically use these to get started with the API:
>>> import gcloud.storage
>>> bucket = gcloud.storage.get_bucket('bucket-id-here',
'project-id',
'long-email@googleapis.com',
'/path/to/private.key')
>>> # Then do other things...
>>> key = bucket.get_key('/remote/path/to/file.txt')
>>> print key.get_contents_as_string()
>>> key.set_contents_from_string('New contents!')
>>> bucket.upload_file('/remote/path/storage.txt', '/local/path.txt')
The main concepts with this API are:
- :class:`gcloud.storage.connection.Connection` which represents a
connection between your machine and the Cloud Storage API.
- :class:`gcloud.storage.bucket.Bucket` which represents a particular
bucket (akin to a mounted disk on a computer).
- :class:`gcloud.storage.key.Key` which represents a pointer to a
particular entity in Cloud Storage (akin to a file path on a remote
machine).
"""
__version__ = '0.1'
SCOPE = ('https://www.googleapis.com/auth/devstorage.full_control',
'https://www.googleapis.com/auth/devstorage.read_only',
'https://www.googleapis.com/auth/devstorage.read_write')
[docs]def get_connection(project, client_email, private_key_path):
"""Shortcut method to establish a connection to Cloud Storage.
Use this if you are going to access several buckets with the same
set of credentials:
>>> from gcloud import storage
>>> connection = storage.get_connection(project, email, key_path)
>>> bucket1 = connection.get_bucket('bucket1')
>>> bucket2 = connection.get_bucket('bucket2')
:type project: string
:param project: The name of the project to connect to.
:type client_email: string
:param client_email: The e-mail attached to the service account.
:type private_key_path: string
:param private_key_path: The path to a private key file (this file was
given to you when you created the service
account).
:rtype: :class:`gcloud.storage.connection.Connection`
:returns: A connection defined with the proper credentials.
"""
from gcloud import credentials
from gcloud.storage.connection import Connection
svc_account_credentials = credentials.get_for_service_account(
client_email, private_key_path, scope=SCOPE)
return Connection(project=project, credentials=svc_account_credentials)
[docs]def get_bucket(bucket_name, project, client_email, private_key_path):
"""Shortcut method to establish a connection to a particular bucket.
You'll generally use this as the first call to working with the API:
>>> from gcloud import storage
>>> bucket = storage.get_bucket(project, bucket_name, email, key_path)
>>> # Now you can do things with the bucket.
>>> bucket.exists('/path/to/file.txt')
False
:type bucket_name: string
:param bucket_name: The id of the bucket you want to use.
This is akin to a disk name on a file system.
:type project: string
:param project: The name of the project to connect to.
:type client_email: string
:param client_email: The e-mail attached to the service account.
:type private_key_path: string
:param private_key_path: The path to a private key file (this file was
given to you when you created the service
account).
:rtype: :class:`gcloud.storage.bucket.Bucket`
:returns: A bucket with a connection using the provided credentials.
"""
connection = get_connection(project, client_email, private_key_path)
return connection.get_bucket(bucket_name)