Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Boto3でAWSにアクセスする その1:接続情報の設定とS3の接続

AWSPythonSDKとしてBoto3というのがあります。
こいつを使って、RasPiのファイルをS3にあげる動きを実装してみます。

実際のところ

AWSのIAMアカウントを生成

AWSマネジメントコンソールから、IAM
f:id:shuzo_kino:20200921100041p:plain

IAMコンソールのダッシュボード
f:id:shuzo_kino:20200921100215p:plain

ユーザー
f:id:shuzo_kino:20200921100513p:plain


f:id:shuzo_kino:20200921100648p:plain

「既存のポリシー」
検索窓に「S3」、フルアクセス
f:id:shuzo_kino:20200921100832p:plain

管理用タグの追加。必要な人はどうぞ
f:id:shuzo_kino:20200921101122p:plain
確認
f:id:shuzo_kino:20200921103141p:plain

アクセスキー等々が発行されます。
f:id:shuzo_kino:20200921103641p:plain

boto3

boto3導入はpipで大丈夫です。

$ pip3 install boto3

接続の設定ファイルを生成。
今回は直接ファイルつくってしまいました。
aws-cliで生成してもいいです。

$ sudo mkdir ~/.aws
$ sudo touch credentials
$ sudo nano /home/pi/.aws/credentials

中身はこんな風。

[default]
aws_access_key_id = YOUR_KEY
aws_secret_access_key = YOUR_SECRET_KEY

接続確認を兼ねてバケット資料をみてみます。

import boto3
 s3 = boto3.resource('s3')
 for bucket in s3.buckets.all():
    print(bucket.name)

#>>myBucket01
#>>myBucket02
#>>...

参考もと

aws.amazon.com