カテゴリ: AWS Lambda 更新日: 2026/08/22

【AWS】LambdaでPythonを使う方法【バージョン・requests・ログ出力対応】

262
【AWS】LambdaでPythonを使う方法【バージョン・requests・ログ出力対応】

先生と生徒の会話形式で理解しよう

生徒

「先生、AWS LambdaでPythonを使えるって聞いたんですけど、具体的にどうやって使えばいいんですか?」

先生

「LambdaはサーバーレスでPythonを動かせる便利なサービスです。バージョンの選び方や外部ライブラリの使い方、さらにログ出力の仕組みを理解すると、すぐに実用的な関数が作れるようになりますよ。」

生徒

「なるほど!PythonをLambdaで使うときに注意すべきポイントも知りたいです。」

先生

「それではLambdaでPythonを使う方法を、バージョン、requestsライブラリ、ログ出力対応まで丁寧に解説していきましょう。」

1. AWS LambdaでPythonを使うメリット

1. AWS LambdaでPythonを使うメリット
1. AWS LambdaでPythonを使うメリット

AWS LambdaでPythonを利用するメリットはたくさんあります。Pythonは文法がシンプルで初心者にも理解しやすく、データ処理やAPI開発に強いという特徴があります。さらにAWSが公式にPythonをサポートしているため、Lambdaとの相性が良いのも魅力です。

サーバーの管理をせずにPythonコードを実行できるため、APIの構築、データ変換、ファイル処理、外部サービスとの連携など、幅広い用途で利用されています。

2. LambdaでサポートされるPythonバージョン

2. LambdaでサポートされるPythonバージョン
2. LambdaでサポートされるPythonバージョン

LambdaではPythonの複数バージョンがサポートされています。例えば以下のようなバージョンです。

  • Python 3.7(サポート終了予定)
  • Python 3.8
  • Python 3.9
  • Python 3.10
  • Python 3.11

新しいバージョンを選ぶことで、最新のライブラリや機能を利用でき、セキュリティリスクも減らせます。AWS公式ドキュメントでは常に最新のサポート状況を確認できるので、開発前にチェックしておくと安心です。

3. Lambda関数でのPythonコードの基本構造

3. Lambda関数でのPythonコードの基本構造
3. Lambda関数でのPythonコードの基本構造

LambdaのPythonコードはシンプルです。基本的には関数lambda_handlerを定義し、その中でイベントを処理します。


import json

def lambda_handler(event, context):
    message = "Hello from AWS Lambda with Python!"
    return {
        "statusCode": 200,
        "body": json.dumps(message)
    }

このようにイベントを受け取り、結果を返すだけでAPIやバッチ処理が実現できます。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. requestsライブラリを使った外部API連携

4. requestsライブラリを使った外部API連携
4. requestsライブラリを使った外部API連携

Pythonの魅力は豊富なライブラリです。その中でもrequestsライブラリは外部APIと連携するときに必須です。ただし、Lambdaの標準環境にはrequestsが含まれていないため、自分でライブラリをパッケージングする必要があります。

方法1:Layerを使う

AWS LambdaのLayerを使ってrequestsを含めたライブラリを共有できます。

方法2:zipファイルに同梱

ローカルでrequestsをインストールし、依存ファイルごとzipにしてデプロイする方法もあります。


pip install requests -t ./python
zip -r myfunction.zip .

こうすることでLambda上でもrequestsが使えるようになり、APIとの通信が可能になります。

5. Pythonでのログ出力方法

5. Pythonでのログ出力方法
5. Pythonでのログ出力方法

Lambdaでログを出力する際には、標準ライブラリのloggingを利用します。ログは自動的にCloudWatch Logsに送信されるので、デバッグや監視に役立ちます。


import logging

logger = logging.getLogger()
logger.setLevel(logging.INFO)

def lambda_handler(event, context):
    logger.info("Lambda関数が実行されました")
    logger.debug(f"イベント内容: {event}")
    return {"statusCode": 200, "body": "ログ出力テスト"}

ログレベルを調整することで、必要に応じて詳細な情報を確認できます。INFO以上に設定しておけば、通常の運用で十分です。

6. LambdaでPythonを使うときの注意点

6. LambdaでPythonを使うときの注意点
6. LambdaでPythonを使うときの注意点

LambdaでPythonを利用するときにはいくつかの注意点があります。

  • 依存ライブラリはLayerやzipに同梱する必要がある
  • 実行時間の制限(最大15分)がある
  • メモリとタイムアウト設定によって処理性能が変わる
  • 最新バージョンのサポート状況を随時確認する必要がある

これらを意識して設計すれば、エラーを減らし効率的に開発を進められます。

7. 初心者におすすめの学習ステップ

7. 初心者におすすめの学習ステップ
7. 初心者におすすめの学習ステップ

PythonでLambdaを学ぶ初心者は、次の流れで練習するとスムーズです。

  1. コンソールでシンプルなHello Worldを作る
  2. ログを出力してCloudWatchで確認する
  3. requestsを使って外部APIと連携する
  4. DynamoDBやS3と組み合わせて小さなアプリを作る

この流れを踏むことで、LambdaとPythonの基本から応用まで自然に理解できるようになります。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

AWS LambdaでPythonを使う一番のメリットは何ですか?初心者でも扱えますか?

一番のメリットは、サーバーの管理を一切行わずにPythonのプログラムを実行できる「サーバーレス」という仕組みにあります。Python自体が非常にシンプルで読みやすい文法を持っているため、プログラミング初心者の方でも理解しやすく、学習コストが低いのが特徴です。AWSが公式にPythonをサポートしているため、データの処理やAPIの開発、ファイルの自動変換、外部サービスとの連携など、幅広い用途で手軽に利用できるのが大きな魅力といえます。

Lambdaで利用できるPythonのバージョンにはどのようなものがありますか?

AWS Lambdaでは複数のPythonバージョンが提供されています。具体的には、Python 3.8、Python 3.9、Python 3.10、Python 3.11などがサポート対象となっています。なお、Python 3.7についてはサポート終了が予定されているため、これから新しく開発を始める場合は、より新しいバージョンを選択することをおすすめします。新しいバージョンを利用することで、最新のライブラリ機能が使えたり、セキュリティ上のリスクを低減できたりするメリットがあります。
AWS Lambdaの一覧へ
新着記事
Flutter
Flutter Web開発の始め方!環境構築と基本の流れ
Flutter Web開発の始め方を完全ガイド!初心者でもわかる環境構築と基本の流れ
Flutter
FlutterのInheritedWidgetとは?仕組みと活用方法
FlutterのInheritedWidgetとは?仕組みと活用方法を初心者向けにやさしく解説
Flutter
Blocパターンの仕組みと導入方法をわかりやすく解説
FlutterのBlocパターンを完全ガイド!初心者でもわかる状態管理と導入方法
Python
NumPyのdstackの使い方!3次元配列を結合する方法
NumPyのdstackの使い方!3次元配列を結合する方法
人気記事
Flutter
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク