botoの設定ファイルについて

AWSを使うには、アクセスキーとシークレットキーが必需品なのですが
それの設定方法が3パターンあったので、まとめます。



1. プログラム中に書く
コネクション取得の引数に、シークレットキーとアクセスキーを書きます。
S3に接続する場合の記述例。

 >>> from boto.s3.connection impport S3Connection
 >>> conn = S3Connection('アクセスキー', 'シークレットキー')



2. 環境変数に設定
環境変数AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEYに
あらかじめ値をセットしておけば、プログラム中に記述する必要がなくなります。

(例)

export AWS_ACCESS_KEY_ID="アクセスキー"
export AWS_SECRET_ACCESS_KEY="シークレットキー" 

環境変数で指定した場合の、接続は以下のようにできます。

>>> from boto.s3.connection impport S3Connection
>>> conn = S3Connection()



3. botoのconfigファイルに設定
botoのconfigファイルはini形式で記述できます。
起動時にbotoライブラリは次の順序で設定ファイルを探します。


1. /etc/boto.cfg  ・・・  マシーンを使うすべてのユーザの設定
2. ~/.boto        ・・・  ユーザ固有の設定



自分一人で使ってるPCだったら、どちらに書いてもOK.
複数ユーザで使う場合だったら、~/.botoに書いておいたほうがいいですね。


設定ファイル中は以下のように書きます。

[Credentials]
aws_access_key_id = アクセスキー
aws_secret_access_key = シークレットキー

アクセスキーとシークレットキーは、ダブルコーテーションで囲むとエラーになりますの、そのまま文字列を書けばよし。
[]で囲まれた箇所は設定ファイルのヘッダで、これがないとエラーで怒られます。
コメントアウトする場合は#でいいようです。


設定ファイルには、キー以外にプロキシの設定なども出来るようです。
wikiの下のほうに記述例が書いて有ります。


設定ファイルには、使うリージョンなどの設定も書けるようなのですが、
そこは、またおいおい調べていきます。

S3では、このリージョン、SDBでは、このリージョンを使う、とういう書き方ができそうな予感。