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では、このリージョンを使う、とういう書き方ができそうな予感。