---
title: 【AWS Lambda】 Lambda+python boto3を使用したs3へのデータ送信方法
description: AWS LambdaとPython boto3を使ったS3へのデータ送信方法を、具体的な手順を通じて解説します。
image: https://knowledge.insight-lab.co.jp/hubfs/AI-Generated%20Media/Images/The%20image%20depicts%20a%20sleek%2c%20modern%20computer%20workstation%20set%20against%20a%20backdrop%20of%20a%20bright%2c%20airy%20office%20environment.jpeg
---

[![INSIGHT LAB](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png?width=400&height=110&name=INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png) ![INSIGHT LAB](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF.png?width=400&height=110&name=INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF.png)](https://knowledge.insight-lab.co.jp/aidx)

[![お問い合わせ](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/5935783/97d2baf6-f3cd-4932-be66-900264c5d298.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/5935783/97d2baf6-f3cd-4932-be66-900264c5d298)

<https://knowledge.insight-lab.co.jp/aidx/-aws-lambda-lambdapython-boto3#tmpmodule_1593485625696253>

- [AIDXナレッジ](https://knowledge.insight-lab.co.jp/aidx)

###### 2 分で読むことができます。

# [【AWS Lambda】 Lambda+python boto3を使用したs3へのデータ送信方法](https://knowledge.insight-lab.co.jp/aidx/-aws-lambda-lambdapython-boto3)

 執筆者 [Coffee](https://knowledge.insight-lab.co.jp/aidx/author/coffee) 更新日時 2024年12月27日

###### Topics: [Python](https://knowledge.insight-lab.co.jp/aidx/tag/python) [AWS](https://knowledge.insight-lab.co.jp/aidx/tag/aws) [s3](https://knowledge.insight-lab.co.jp/aidx/tag/s3) [lambda](https://knowledge.insight-lab.co.jp/aidx/tag/lambda)

![](https://knowledge.insight-lab.co.jp/hubfs/AI-Generated%20Media/Images/The%20image%20depicts%20a%20sleek%2c%20modern%20computer%20workstation%20set%20against%20a%20backdrop%20of%20a%20bright%2c%20airy%20office%20environment.jpeg)

 目次

---

## はじめに

---

Webサイトからデータ取得をおこない、データ分析を実施したい。

そのような状況においてAWS上にて簡単に実施できる、 Lambda + python boto3を用いたデータ準備方法をご紹介いたします。

私は個人的に使用している学習用のAWS環境を使用しております。

本記事は学習で使用できるAWS環境がある前提で進めさせていただきます。

## システム構成

---

今回は内閣府の「国民の祝日」csvファイルをLambdaを使用してS3に送信します。

実際のデータについては以下リンクになります。

[https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv](https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv)

システム流れとしては以下になります。

1. Lambda関数の作成
2. S3バケットの作成
3. IAMロールの設定
4. Lambda関数の実行

それぞれについて詳しく説明していきます！

## Lambda関数の作成

---

まずはLambda関数の作成をします。

Lambdaコンソールを開き関数の作成ボタンをクリックします、

![1](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/1.webp?width=1564&height=221&name=1.webp)

「一から作成」を選択します。

関数名は今回は「test」としていますが、分かりやす名前であれば問題ないです。

ランタイムはpythonを使用するので「Python3.9」としています。

![2](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/2.png?width=1820&height=847&name=2.png)

これでLambda関数の作成は完了です！

続いてPythonのコードを実際に書いていきます。

コードソースの部分に以下のコードを記述してみてください。

![3](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/3.png?width=1598&height=735&name=3.png)

def lambda\_handlerの中に追記していく形になります。

今回は分かりやすいようにHelloWorld文は削除してません。

urlは先ほどの内閣府の祝日カレンダーを指定しています。

s3.upload\_fileについてはこの後作成するS3のバケット名及びフォルダ名を指定してます。

## S3バケットの作成

---

先ほどのコードの送信先のS3バケットを作成します。

バケットの作成ボタンをクリックします。

![4](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/4.png?width=1568&height=366&name=4.png)

バケット名を入力します。

バケット名に関しては一意でないといけないため同じ名前は使用できませんので、分かりやすい名前を自身でつけてください。

それ以外の項目についてはデフォルトで問題ないためできたらバケットを作成してください。

![5](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/5.png?width=825&height=612&name=5.png)

バケットが作成されたらフォルダの作成をします。

フォルダの作成ボタンをクリックします。

![6](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/6.png?width=1819&height=572&name=6.png)

フォルダ名を入力します。

今回は「data」としています。

他はデフォルトで問題ないので出来たらフォルダを作成してください。

![7](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/7.png?width=892&height=755&name=7.png)

## IAMロールの設定

---

上記段階だけではLambda関数実行時にアクセスエラーが出てしまいます。

(気になる方は先にLambda関数の実行をしてみるとエラーが出てきます。)

そのためIAMロールの設定が必要になります。

先ほど作成したLambda関数の画面に戻ります。

「設定」→「アクセス権限」→「ロール名」からURLでIAMロールの設定画面に飛ぶことができます。

![8](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/8.png?width=1628&height=284&name=8.png)

IAMロールの画面が表示されたら「許可」→「許可を追加」→「ポリシーをアタッチ」をクリックします。

![9](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/9.png?width=1500&height=222&name=9.png)

検索画面に「S3」と入力し今回はテスト用のため「AmazonS3FullAccess」を追加します。

本来は最小限のポリシーをアタッチをするのが適切になりますが個人テスト用なので問題ございません。

![10](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/10.png?width=1802&height=681&name=10.png)

これでIAMロールの設定は完了です。

## Lambda関数の実行

---

いよいよLambda関数の実行になります。

Lambda関数の画面に戻ります。

「Deploy」→「Test」で実行してみてください。

![11](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/11.png?width=1625&height=572&name=11.png)

実行が成功しましたら先ほど作成したS3バケットを確認してみてください。

指定した場所に祝日データのcsvが送られていたら成功になります。

![12](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/AWS%20Lambda/12.png?width=738&height=463&name=12.png)

## おわりに

---

今回使用した方法でWebサイトからS3にLambdaを使用してデータ取得を行うことができます。

ここで取得したデータから分析等に繋げることが出来るようになります。

是非データ利活用に繋げていきましょう。

 

- [Tweet](https://twitter.com/share)

![Coffee](https://app.hubspot.com/settings/avatar/544aeaf66bc0bebc3dc5063aa1694b82)

#### 執筆者 [Coffee](https://knowledge.insight-lab.co.jp/aidx/author/coffee)

###### [前の投稿](https://knowledge.insight-lab.co.jp/aidx/-python-comparison-of-pandas-and-polars)

[![](https://knowledge.insight-lab.co.jp/hubfs/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202024-12-24%20095845-png.png)](https://knowledge.insight-lab.co.jp/aidx/-python-comparison-of-pandas-and-polars)

###### [【Python】高速なデータフレームライブラリPolarsをPandasと比較してみた](https://knowledge.insight-lab.co.jp/aidx/-python-comparison-of-pandas-and-polars)

###### [次の投稿](https://knowledge.insight-lab.co.jp/aidx/googlecloud-dataflow)

[![](https://knowledge.insight-lab.co.jp/hubfs/%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E3%81%AA%E3%81%97-1.png)](https://knowledge.insight-lab.co.jp/aidx/googlecloud-dataflow)

###### [【GoogleCloud】Dataflowを用いて簡単にBigQueryのテーブルにデータを入れる方法](https://knowledge.insight-lab.co.jp/aidx/googlecloud-dataflow)

##### INFORMATION

INFORMATION

- [会社概要](https://www.insight-lab.co.jp/about/company.html)
- [お問い合わせ](https://www.insight-lab.co.jp/contact.html)

##### MENU

MENU

- [AIDXナレッジ](https://knowledge.insight-lab.co.jp/aidx)
- [NEWS AI SEARCH](https://solution.insight-lab.co.jp/ai/news-ai-search)

[![INSIGHT LAB](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png?width=200&height=55&name=INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png "INSIGHT LAB")](https://www.insight-lab.co.jp/)

- [プライバシーポリシー](https://www.insight-lab.co.jp/privacy.html)

Copyright © 2020 INSIGHT LAB, Inc.

<https://www.facebook.com/AI-Knowledge-204095220273271>