🤖

s3にテキストをアップロードしてpythonで読み込む

2022/02/14に公開

1. s3にバケット作成してテキストファイルをアップロード

https://qiita.com/miriwo/items/41e488b79fb58fa7c952

上の記事を参考にバケット作成し、作成したバケットに任意のtextファイルをアップロードします。

今回はtrial.txtというファイルをアップロードし中身は以下。

hello s3!

2. IAM登録

https://www.jpcyber.com/support/create-iam-user-and-iam-policy
上の記事を参考にIAMを発行します。

3. boto3使ってテキスト読み込む

環境構築の手間を省きたかったのでcolaboratoryつかってnotebook上で読み込みを試しました。
s3とのやりとりにはboto3というライブラリを使いました。

(colaboratoryについて)
https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja

credentialsの設定とテキストの読み込み方法はここを参考にしました。
https://qiita.com/kimihiro_n/items/f3ce86472152b2676004

まずはboto3ライブラリをインストール&読み込みます。

!pip install boto3
import boto3

次は2.で作成したcredentialsを指定してboto3のアクセスインスタンスを作成します。

credentialsの設定

s3 = boto3.client('s3',
        aws_access_key_id='AK***',
        aws_secret_access_key='***' ,
        region_name='ap-northeast-1'
)
obj = s3.get_object(Bucket='ushknn-trial', Key='trial.txt')
print(obj['Body'].read())

以下の出力が得られ、読み込みに成功しました!!
バイナリ形式なので注意。

b'hello s3!\n'

4.まとめ

とりあえずs3バケット作成からテキストをs3から読み込むまでの流れを確認できました。
実運用だともっとセキュリティを考慮した設定をする必要がありそうです。

Discussion