スポンサーリンク

【Python】AWSのS3にファイルアップロード&ダウンロード手順。

Python
スポンサーリンク

今回の記事はAWSのS3にpythonを用いてファイルをアップロードまたはダウンロードする方法についてご紹介する記事になります。

では早速メインの記事に進んでいきます。

スポンサーリンク

AWSにS3バケットを作成

ではまずはAWSですがAWSのアカウントを作成しましょう。こちらは無料でも作成可能ですし、非常に簡単なのでこちらなどを見ながら完了させてください。

コンソールに入った後に関しても上記のサイトを参考に「サービス」→「S3」→「バケット作成」→「権限付与」→「作成完了」という風な流れです。

では次にアクセスするためのユーザーを設定します。

AWSの接続設定

AWSには「IAM」というサービスがあります。このサービスは権限を付与したユーザーを作成することができます。このユーザーでとりあえずS3バケットにFull権限のユーザを作成してそのユーザのアクセスキーとシークレットキーを作成すれば良いと思われます。

まずはサービスからIAMをクリックする。その後ユーザをサイドバーから入力を行うをクリックします。

ユーザをクリックします。

プログラムによるアクセスの許可をチャックし、ユーザ名はなんでもOKです。「testuser」でOKです。

上記のように既存のポリシーをクリックし、ポリシーを検索するためにフィルターにS3とクリックします。するとFullAccessが表示されるのでそこにチェックをつけ、次のタグ作成に進みます。タッグに関しては私は空欄のままにして次に進みユーザを作成しました。

ユーザを作成した際にアクセスキーとシークレットキーが表示されるのでこのキーをメモっておきましょう。

PCでのキーの保存

先ほど作成したアクセスキーとシークレットキーを自身のPCに保存します。ターミナルで下記を実行します。

pip install boto3
pip install awscli

これで下記の情報を求められるので下記を入力することでキーの登録が完了します。

AWS Access Key ID [None]:あなたのAccess Key
AWS Secret Access Key [None]:あなたのSecret Access Key
Default region name [None]:regionのコード値(だいたいap-north...かな?)
Default output format [None]json

AWSのS3にファイルアップロード

import boto3
 
s3 = boto3.resource('s3')
 
bucket = s3.Bucket('[自身で設定したバケット名]')
bucket.upload_file('upload/test.txt', 'test.txt')

AWSのS3からファイルダウンロード

import boto3

s3 = boto3.resource('s3') #S3オブジェクトを取得

bucket = s3.Bucket('[自身で設定したバケット名]')
#先ほどのアップロードしたファイルをダウンロードしてくる
bucket.download_file('upload/test.txt', '[自身のPCの保存したいpathを記載する]')

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Python
スポンサーリンク
スポンサーリンク
ともぶろぐ

コメント

  1. […] ユーザー名は適当でOKで、その下のアクセス方法ですがプログラムによる操作(例えば「PythonでS3にファイルアップロード」など)を行う場合は写真のように上のチェックを入れます。 […]

タイトルとURLをコピーしました