S3 にナイショの情報を格納して、スクリプトから取得できるようにしたかった。S3 は Basic認証などには対応していないので、everyone readable にしない限りは wget や curl で取ってこれない。

そこで、s3curl (http://aws.amazon.com/code/128) という curl のラッパが作られた。早速試すと、エラーが起こる。

SignatureDoesNotMatch The request signature we calculated does not match the signature you provided. Check your key and signing method.

なぜだろう。東京リージョンには対応していないのだろうか。と思って s3curl.pl を覗くと、tokyo region の定義が無かった。ので、追加してやる。

begin customizing here

my @endpoints= ( ‘s3.amazonaws.com’, ‘s3-us-west-1.amazonaws.com’, ‘s3-eu-west-1.amazonaws.com’, ‘s3-ap-southeast-1.amazonaws.com’, ‘s3-ap-northeast-1.amazonaws.com’ ); # ここ

これでめでたく動くようになった。