適当なディレクトリに以下のスクリプトを作成(file_to_s3.pl)して、
実行権限をつけて保存します。
#!/usr/bin/perl
use strict;
use warnings;
use Net::Amazon::S3;
my $s3 = Net::Amazon::S3->new(
{ aws_access_key_id => 'ACCESSKEYID',
aws_secret_access_key => 'SECRETACCESSKEY',
}
);
my $bucket = $s3->bucket('BUCKETNAME');
$bucket->add_key_filename( 'FILENAME_TO', 'FILENAME_FROM',
{ content_type => 'CONTENTTYPE',
acl_short => 'public-read',},
);
ACCESSKEYID は、AmazonS3のアクセスキーIDを入れてください。
SECRETACCESSKEY は、AmazonS3のシークレットアクセスキーを入れてください。
BUCKETNAME は、AmazonS3に作成したバケット名を入れてください。
FILENAME_TO は、AmazonS3内に保存する際のファイル名を入れてください。
FILENAME_FROM は、AmazonS3へ転送したいファイル名を入れてください。
CONTENTTYPE は、転送するファイルのタイプです。'text/html'を指定したら、ブラウザでアクセスした際にhtmlファイルとして表示できました。
perlスクリプトでAmazonS3へファイルをアップロードする際に、ACLを同時に変更するには、acl_short で public-read を指定します。
こうすると、Public属性が付与された(Everyone Read)状態でアップロードできます。
実行権限の付け方は、ターミナルを起動して、このスクリプトを保存したディレクトリに移動して、chmodで行います。
cd /スクリプトを保存したディレクトリ/
chmod 700 file_to_s3.pl(※スクリプト名)
試しに転送するファイルをtest.htmlとしてアップロードしてみました。
perlスクリプトの実行方法は、ターミナルで、
./file_to_s3.pl
でOK。
無事AmazonS3へtest.htmlが転送されました。
http://バケット名.s3.amazonaws.com/test.html
でブラウザで表示されました。
■MACにCPANをインストール
■MACにNET::Amazon::S3をインストール
■NET::Amazon::S3を使ってAmazonS3へファイルをアップロードしてみた
参考:(Perl) LinuxサーバからAmazon S3を用いる (1/2)
参考:刺身☆ブーメランのはてなダイアリー
0 件のコメント:
コメントを投稿