NAME
Net::Mosso::CloudFiles - Interface to Mosso CloudFiles service
SYNOPSIS
use Net::Mosso::CloudFiles;
use Perl6::Say;
my $cloudfiles = Net::Mosso::CloudFiles->new(
user => 'myusername',
key => 'mysecretkey',
);
# list all containers
my @containers = $cloudfiles->containers;
foreach my $container (@containers) {
say 'have container ' . $container->name;
}
# create a new container
my $container = $cloudfiles->create_container('testing');
# use an existing container
my $existing_container = $cloudfiles->container('testing');
my $total_bytes_used = $cloudfiles->total_bytes_used;
say "used $total_bytes_used";
my $object_count = $container->object_count;
say "$object_count objects";
my $bytes_used = $container->bytes_used;
say "$bytes_used bytes";
# returns a Data::Stream::Bulk object
# as it may have to make multiple HTTP requests
my @objects = $container->objects->all;
foreach my $object (@objects) {
say 'have object ' . $object->name;
# also size, etag, content_type, last_modified
}
my @objects2 = $container->objects(prefix => 'dir/')->all;
my $xxx = $container->object( name => 'XXX' );
$xxx->put('this is the value');
my $value = $xxx->get;
say 'has size ' . $object->size;
say 'has md5 ' . $object->etag;
say 'has value ' . $object->value;
say 'has last_modified ' . $object->last_modified;
my $yyy = $container->object( name => 'YYY', content_type => 'text/plain' );
$yyy->put_filename('README');
$yyy->get_filename('README.downloaded');
$object->delete;
$container->delete;
DESCRIPTION
This module provides a simple interface to the Mosso CloudFiles service.
It is "Scalable, dynamic storage. Use as much or little as you want and
only pay for what you use". Find out more at
<
http://cloud.rackspace.com/cloudfiles.jsp>.
This is the first version of this module. The API will probably change
and lots of documentation will be added.
TESTING
Testing CloudFiles is a tricky thing. Mosso charges you a bit of money
each time you use their service. And yes, testing counts as using.
Because of this, this modules's test suite skips testing unless you set
the following three environment variables, along the lines of:
CLOUDFILES_EXPENSIVE_TESTS=1 CLOUDFILES_USER=username CLOUDFILES_KEY=15bf43... perl t/simple.t
CLOUDFILES_EXPENSIVE_TESTS
Set this to 1.
CLOUDFILES_USER
CLOUDFILES_KEY
AUTHOR
Leon Brocard <
[email protected]>.
COPYRIGHT
Copyright (C) 2008-9, Leon Brocard
LICENSE
This module is free software; you can redistribute it or modify it under
the same terms as Perl itself.