cloudfiles

Package cloudfiles |
[frames] | no frames]

# Package cloudfiles

source code

Cloud Files python client API.

Working with result sets:

    >>> import cloudfiles
    >>> # conn = cloudfiles.get_connection(username='jsmith',                  api_key='1234567890')
    >>> conn = cloudfiles.get_connection('jsmith', '1234567890')
    >>> # NOTE: For Uk Customers please pass in Default UK Auth URL like EX
    >>> conn = cloudfiles.get_connection('username', 'api_key', \
    >>>                                  authurl = cloudfiles.uk_authurl)
    >>> # This will force connectivity to the UK's Auth Service
    >>> containers = conn.get_all_containers()
    >>> type(containers)
    <class 'cloudfiles.container.ContainerResults'>
    >>> len(containers)
    2
    >>> for container in containers:
    >>>     print container.name
    fruit
    vegitables
    >>> print containers[0].name
    fruit
    >>> fruit_container = containers[0]
    >>> objects = fruit_container.get_objects()
    >>> for storage_object in objects:
    >>>     print storage_object.name
    apple
    orange
    bannana
    >>>

Setting the argument servicenet=True to get_conection will use the Rackspace ServiceNet network to access Cloud Files (and not the public network) :

    >>> import cloudfiles
    >>> conn = cloudfiles.get_connection('jsmith', '1234567890',         servicenet=True)
    >>> conn.connection_args[0]
    'snet-storage4.clouddrive.com'

If you define the environment variable RACKSPACE_SERVICENET it will automatically connect via the servicenet network.

Creating Containers and adding Objects to them:

    >>> pic_container = conn.create_container('pictures')
    >>> my_dog = pic_container.create_object('fido.jpg')
    >>> my_dog.load_from_filename('images/IMG-0234.jpg')
    >>> text_obj = pic_container.create_object('sample.txt')
    >>> text_obj.write('This is not the object you are looking for.\n')
    >>> text_obj.read()
    'This is not the object you are looking for.'

Object instances support streaming through the use of a generator:

    >>> deb_iso = pic_container.get_object('debian-40r3-i386-netinst.iso')
    >>> f = open('/tmp/debian.iso', 'w')
    >>> for chunk in deb_iso.stream():
    ..     f.write(chunk)
    >>> f.close()

Marking a Container as CDN-enabled/public with a TTL of 30 days

    >>> pic_container.make_public(2592000)
    >>> pic_container.public_uri()
    'http://c0001234.cdn.cloudfiles.rackspacecloud.com'
    >>> my_dog.public_uri()
    'http://c0001234.cdn.cloudfiles.rackspacecloud.com/fido.jpg'

Set the logs retention on CDN-enabled/public Container

    >>> pic_container.log_retention(True)

See COPYING for license information.

Version: 1.7.10

Submodules
cloudfiles.connection: connection operations cloudfiles.container: container operations cloudfiles.errors: exception classes cloudfiles.fjson cloudfiles.storage_object: Object operations

Functions
Connection |
get_connection(*args, **kwargs) Helper function for creating connection instances. | source code

Variables
| __package__ = ``'``cloudfiles``'``

Function Details

### get_connection(*args, **kwargs) | source code
Helper function for creating connection instances. Parameters: `username` (string) - a Mosso username `api_key` (string) - a Mosso API key Returns: Connection a connection object