【AWS Lambdaの基本コードその9】S3のバケットリスト取得(Python)

Pocket

こんにちは、シュガーです。
AWS Lambdaの基本シリーズとして今回はS3のバケットリスト取得方法をご紹介したいと思います。

IAMロールの作成

まず準備としてIAMロールの作成を行います。
今回はLambdaからS3の操作ができるよう権限を割り当てます。
IAMのコンソール画面の左メニューからロールを選択し、「ロールの作成」をクリックします。
ロールタイプはAWSサービスを選択し、その項目の中から「Lambda」を選択します。

次の画面のアクセス権限では、既存のポリシーをアタッチします。
「AmazonS3FullAccess」と検索をし、表示されたポリシーをアタッチしましょう。

最後の確認画面では、ロール名及び説明を明記します。
ここは自分でわかるようなロール名を設定しましょう。
「ロールの作成」をクリックすることでロールの作成が完了です。

Lambda関数の作成

それではLambda関数を作成します。
AWS Lambdaのダッシュボードから「関数の作成」を選択します。
・ステップ1
設計図の選択では「一から作成」を選択します。

・ステップ2
トリガーの設定では何もせず、そのまま「次へ」を選択します。

・ステップ3
関数の設定では、ランタイムの指定を行い、Lambda関数のコードを記述する必要があります。
また、この画面で先ほど作成したIAMロールの適用を行います。
今回ランタイムはPython 3.6を選びます。

Lambda関数は以下のように記述しました。

次にIAMロールをアタッチします。
「既存のロールを選択」し、続けて先ほど作成したIAMロールをプルダウンから選びましょう。

ステップ4
確認画面で設定した情報に間違いがなければ「関数の作成」をクリックすることでLambda関数が作成されます。

実行結果

実行結果は以下のとおりです。
このアカウントで作成しているS3バケットを無事取得することができました。

最後に

いかがでしたでしょうか。
Lambdaを利用することでサーバレス構成を簡単に実現することができます。
当レシピでは今回の記事の他、たくさんのLambda紹介記事がございます。
ここ最近の流れとしてサーバレスが流行っているので、是非ご覧になっていただければと思います。

次回もお楽しみに。