AWSの部屋

AWS学習者向けのブログです

スポンサーリンク

Boto3 で S3 に格納したファイルにアクセスしてみる

概要

筆者はAWS認定ソリューションアーキテクト-プロフェッショナル合格に向けてAWSの様々なサービスを勉強中。本日は Boto3 と S3 を触ってみる。

Boto3とは

AWS SDK for Python (Boto3) を使用すると、AWS の使用を迅速に開始できます。Boto3 を使用することで、Python のアプリケーション、ライブラリ、スクリプトAWS の各種サービス(Amazon S3Amazon EC2Amazon DynamoDB など)と容易に統合できます。(出典:AWS SDK for Python (Boto3)

今回の目標

Boto3 で S3 のバケットバケット内にある全てのファイル名を取得する

構成

実行環境

macOS 11.3.1
Python 3.9.6
Boto3 1.20.53

手順

  1. Boto3のインストール
  2. AWSアクセスキーの設定
  3. S3にバケットを作成
  4. バケットにファイルを格納
  5. 作成したバケットにアクセス
  6. バケット内のファイルにアクセス

1.Boto3のインストール

pip でインストールします。

pip install boto3

2.AWSアクセスキーの設定

AWS の操作には IAM のアクセスキーが必要なので、あらかじめマネージメントコンソールから作成する必要があります。作成方法に関しては以下を参照してください。

aws.amazon.com

また、以下のどちらかの方法でアクセスキーを設定します。私は2で設定しました。

  1. アクセスキーの情報を ~/.aws/credentials に設定する。
  2. AWS CLI をインストールし aws configure を行って設定する。詳細は以下を参照してください。

docs.aws.amazon.com

3.S3にバケットを作成

「20220211-test-bucket」というバケットを作成しました。

4.バケットにファイルを格納

作成したバケットに適当なファイルを格納します。

5.作成したバケットにアクセス

import boto3
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('20220211-test-bucket')
print(my_bucket.name)

バケットへのアクセスに成功しました。

6.バケット内のファイルにアクセス

import boto3
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('20220211-test-bucket')

for object in my_bucket.objects.all():
    print(object.key)

バケット内のファイルへのアクセスに成功しました。

さいごに

まだ基本的なことだけですが、目標を達成することができました。そのほかのサービスについても徐々に学んでいこうと思います。

AWS認定ソリューションアーキテクト - アソシエイト(SAA-C02)合格への道のり

先日、AWS認定ソリューションアーキテクト - アソシエイト(SAA-C02)の試験を受けて、無事合格することができました。その際の勉強法を紹介しますので、これから受験される方の参考になれば幸いです。

受験にいたったきっかけ

  1. プロジェクトでAWSを使うようになり、今後のキャリアのためにもサービスについてもっと知っておいた方がいいと思ったため
  2. 単純に「AWSすごい!」と思い、エンジニアとしてサービスについて深く勉強してみたいと思ったため

AWS認定ソリューションアーキテクト - アソシエイト(SAA-C02)とは

AWS認定資格は、以下のような分類になっており、SAA-C02は「AWS で分散システムを設計、実装する能力を認定」する資格です。(出典:AWS認定

詳細は以下をご参照ください。

aws.amazon.com

学習期間

2021年10月から勉強をスタートし2022年2月に受験しました。ただ、最初は週末の1~2時間のみでラスト一ヶ月に集中的に勉強することになりました。

学習時間

特に学習時間を計上はしていなかったのですが、体感的には80~100時間といったところでしょうか。最初の二ヶ月は継続的に学習ができず、覚えては忘れの繰り返しだったので効率は非常に悪かったと思います。

学習方法

1.教科書

こちらの書籍(AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版)を読み込みました(計三回)。これだけでは不十分ですが、基礎固めには有効かと思います。

2.Udemy

Udemyで以下二つの講座を受講しました。前者でハンズオンをしながら各サービスについて学び、後者で試験対策を行いました。特に後者の講座はとても有効で模擬試験で90%くらいとれるなら本番は問題なく合格できるのではないかと思います。

【2022年版】これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座

【2022年版】AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集(6回分390問)

3.問題集

Udemyだけでは不安だったので、こちらの問題集でとにかくたくさんの問題に触れ試験対策を行いました。本番でも似たような問題が出てきたので非常におすすめできる書籍です。

www.amazon.co.jp

4.AWSの公式模擬試験

AWSが提供している模擬試験です。こちらは20問で構成されていて自分の実力を測るいい機会になるかと思います。ただ、試験のスコアがわかるだけで正解や解説は提供されないため、受験しなくても大丈夫かと思います。

さいごに

AWS認定クラウドラクティショナー(CLF-C01)に合格した際はあまり苦労はしなかったのですが、AWS認定ソリューションアーキテクト - アソシエイト(SAA-C02)はとにかく大変でした。試験範囲が広いのと単純な暗記では解けないような問題も多く実際にAWSのサービスを使ってみないと攻略するのは難しいのではないかと思います。ただ、決して取得が困難な資格ではないと思うので、紹介したような方法で根気強く勉強することで合格することができるかと思います。