Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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