perlからhtml を s3にアップロード

すごく簡単にできた。

s3はaclの設定が面倒なんだけど、 Amazon::S3ライブラリだと

acl_short           => 'public-read',

とかってやればある程度は設定できるので便利だった。

	use strict;
	use warnings;
	use Amazon::S3;
	
	my $s3 = Amazon::S3->new({
	        aws_access_key_id     => 'foo',  # アクセスキーID 
	        aws_secret_access_key => 'bar',  # シークレットアクセスキー
	        retry                 => 1,
	     });
	
	my $bucket = $s3->bucket('yourbucketname'); # あらかじめ作成したバケット名を指定
	
	my $filepath = '/tmp/hello.html';  # ローカルのファイルパス名
	my $keyname = 'xxxxx.html';    # S3上のオブジェクトパス名
	
	  $bucket->add_key_filename(
	      $keyname, $filepath,
	      {   content_type        => 'text/html',
	          acl_short           => 'public-read',
	      }
	  );

参考リンク

簡単!たった12行でAmazonS3にファイルをうpするPerlスクリプト - DQNEO起業日記 http://dqn.sakusakutto.jp/2011/11/amazons3perl.html

Amazon::S3ライブラリのテストソースコード 01api.t が役に立った。

AWS s3 html

s3でもhtml置くと、htmlとして認識してくれるモードが1年前にできたらしい。

AWS Management Consoleからの設定はできた。

■バケットの操作

propertiesを選ぶ
Websiteタブを選ぶ
enabledチェック

■uploadしたファイルの操作

uploadしたファイルのpermissionsに
「Everyone + open/Download」属性を追加する

参考リンク

【AWS発表】 Amazon S3で静的なWebサイトの運用が可能に - Amazon Web Services ブログ http://aws.typepad.com/aws_japan/2011/02/host-your-static-website-on-amazon-s3.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-02-16 (木) 22:50:16 (2626d)