天然パーマです。

Amazon S3にExpiresヘッダ付きでファイルをアップロードする

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;