カテゴリ: AWS Lambda 更新日: 2025/10/24

【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の一覧へ
新着記事
Java の HashMap から特定のキーや値を検索する(containsKey, containsValue)
JavaのHashMapでキーや値を検索する方法を完全解説 containsKeyとcontainsValueの使い方入門
Flutterのリスト表示を学ぼう!ListView・GridViewの使い方
Flutterのリスト表示をマスター!初心者向けListView・GridViewの使い方完全ガイド
Java の HashMap を作成してデータを追加・取得する方法
JavaのHashMapの使い方を完全解説!初心者でもわかる作成・追加・取得の基本
【AWS】S3のエラーコード一覧と原因・対処法【403・404・503など】
【AWS】S3のエラーコード一覧と原因・対処法【403・404・503などを徹底解説】
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説

🔌 USBポート不足を解消

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

UGREEN USB-Cハブを見る

※ Amazon広告リンク