Amazon::S3を使ってみた。 Expiresヘッダとして現在の時刻から10年後を指定しています。
#!/usr/bin/perl
use strict;
use warnings;
use Amazon::S3;
use HTTP::Date qw(time2str);
use YAML;
my $aws_access_key_id = "";
my $aws_secret_access_key = "";
my $s3 = Amazon::S3->new(
{
aws_access_key_id => $aws_access_key_id,
aws_secret_access_key => $aws_secret_access_key,
retry => 1
}
);
my $bucket = $s3->bucket('your_bucket_name');
my $key = 'test/image_from_perl.jpg';
my $filename = './test_image.jpg';
$bucket->add_key_filename(
$key,
$filename,
{
content_type => 'image/jpeg',
expires => time2str( time + ( 365 * 24 * 60 * 60 ) * 10 ),
acl_short => 'public-read',
}
);
# print key's configure
my $conf = $bucket->head_key($key);
print Dump $conf;