NAME
AWS::S3::File - A single file in Amazon S3
SYNOPSIS
my $file = $bucket->file('foo/bar.txt');
# contents is a scalarref:
print @{ $file->contents };
print $file->size;
print $file->key;
print $file->etag;
print $file->lastmodified;
print $file->owner->display_name;
print $file->bucket->name;
# Set the contents with a scalarref:
my $new_contents = "This is the new contents of the file.";
$file->contents( \$new_contents );
# Set the contents with a coderef:
$file->contents( sub {
return \$new_contents;
});
# Alternative update
$file->update(
contents => \'New contents', # optional
contenttype => 'text/plain' # optional
);
# Get signed URL for the file for public access
print $file->signed_url( $expiry_time );
# Delete the file:
$file->delete();
DESCRIPTION
AWS::S3::File provides a convenience wrapper for dealing with files stored in S3.
PUBLIC PROPERTIES
bucket
AWS::S3::Bucket - read-only.
The AWS::S3::Bucket that contains the file.
key
String - read-only.
The 'filename' (for all intents and purposes) of the file.
size
Integer - read-only.
The size in bytes of the file.
etag
String - read-only.
The Amazon S3 'ETag' header for the file.
owner
ASW::S3::Owner - read-only.
The ASW::S3::Owner that the file belongs to.
storage_class
String - read-only.
The type of storage used by the file.
lastmodified
String - read-only.
A date in this format:
2009-10-28T22:32:00
contents
ScalarRef|CodeRef - read-write.
Returns a scalar-reference of the file's contents.
Accepts either a scalar-ref or a code-ref (which would return a scalar-ref).
Once given a new value, the file is instantly updated on Amazon S3.
# GOOD: (uses scalarrefs)
my $value = "A string";
$file->contents( \$value );
$file->contents( sub { return \$value } );
# BAD: (not scalarrefs)
$file->contents( $value );
$file->contents( sub { return $value } );
PUBLIC METHODS
delete()
Deletes the file from Amazon S3.
update()
Update contents and/or contenttype of the file.
signed_url( $expiry_time )
Will return a signed URL for public access to the file. $expiry_time should be a Unix seconds since epoch, and will default to now + 1 hour is not passed
SEE ALSO
The Amazon S3 API Documentation
AUTHOR
John Drago <jdrago_999@yahoo.com>
LICENSE AND COPYRIGHT
This software is Free software and may be used and redistributed under the same terms as any version of perl itself.
Copyright John Drago 2011 all rights reserved.