カテゴリ: 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の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

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

UGREEN USB-Cハブを見る

※ Amazon広告リンク