0Pricing
Serverless Backend with AWS Lambda & API Gateway · レッスン

初めてのLambda Function(Python)

Pythonを使って最初のAWS Lambda関数を作成・デプロイし、基本的な構造と実行モデルを学びます。

「初めてのLambda Function(Python)」はCoddyKit上の無料Serverless Backend with AWS Lambda & API Gatewayレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはServerless Backend with AWS Lambda & API Gateway学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Serverless Backend with AWS Lambda & API Gatewayコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Welcome to AWS Lambda!

Time for your first function. AWS Lambda is Function as a Service: upload code, and Lambda runs it with zero servers to provision.

Why Python for Lambda?

Python is a great Lambda runtime — readable, rich libraries, perfect for APIs, data processing, and automation. Beginner-friendly too.

The Lambda Handler Function

Every Lambda needs an entry point: the handler. Lambda calls it with two args — event (input data) and context (runtime info).

Your First Python Lambda

Here's a minimal "Hello World" Lambda. All your logic lives in lambda_handler — run it locally to feel the shape.

import json

def lambda_handler(event, context):
    # Your function's logic goes here
    message = "Hello from your first Lambda!"
    
    # Lambda functions typically return a dictionary
    return {
        'statusCode': 200,
        'body': json.dumps(message)
    }

# This block allows you to test your function locally
if __name__ == "__main__":
    # Simulate an empty event and context for a simple test
    mock_event = {}
    mock_context = None
    response = lambda_handler(mock_event, mock_context)
    print("Local Test Response:", response)

Understanding the 'event'

The event parameter carries the input that triggered your function, delivered as JSON and converted into a Python dict — an API call, an S3 upload, a queue message.

Code: Reading from the Event

Now read a name from the event, falling back to a default. Notice event.get('key', default) for safe access without KeyErrors.

import json

def lambda_handler(event, context):
    # Get 'name' from the event, or default to 'there'
    name = event.get('name', 'there') 
    message = f"Hello, {name} from Lambda!"
    
    return {
        'statusCode': 200,
        'body': json.dumps(message)
    }

# Local testing with different events
if __name__ == "__main__":
    mock_event_with_name = {"name": "CoddyKit User"}
    response_with_name = lambda_handler(mock_event_with_name, None)
    print("With name:", response_with_name)

    mock_event_no_name = {}
    response_no_name = lambda_handler(mock_event_no_name, None)
    print("Without name:", response_no_name)

The 'context' Object

The context object exposes runtime info like aws_request_id, function_name, and remaining execution time. Handy even if you skip it often.

Returning a Standard Response

When API Gateway triggers your function, it expects a specific shape: a statusCode and a body that's a JSON string. That's how the client gets a clean response.

Code: Complete API Response

Here's a fuller, API-ready response with a Content-Type header and structured JSON body. We fake a context for local testing.

import json

def lambda_handler(event, context):
    name = event.get('name', 'World')
    
    # Simulate a context object for local testing
    request_id = getattr(context, 'aws_request_id', 'local-test-id')

    response_message = f"Greetings, {name}! Your request ID is {request_id}."

    return {
        'statusCode': 200,
        'headers': {
            'Content-Type': 'application/json'
        },
        'body': json.dumps({
            'message': response_message,
            'input_data': event # Echoing input for demonstration
        })
    }

# Local testing with a dummy context
if __name__ == "__main__":
    class MockContext:
        aws_request_id = 'mock-request-123'

    mock_event = {"name": "CoddyKit"}
    mock_context_obj = MockContext()
    response = lambda_handler(mock_event, mock_context_obj)
    print("Full API Response:", response)

How Lambda Executes Your Code

On each event, Lambda spins up (or reuses) a container, loads your code, calls the handler, runs it, and returns the result — then waits or shuts down.

Quick Check

Which of the following best describes the purpose of the event parameter in a Python Lambda handler function?

Recap: Your First Lambda!

Recap: Lambda runs code with no servers. The handler is your entry point, event carries input as a dict, context gives runtime info, and you return a status + JSON body.

よくある質問

「初めてのLambda Function(Python)」レッスンは無料ですか?

はい。「初めてのLambda Function(Python)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Serverless Backend with AWS Lambda & API Gatewayコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Serverless Backend with AWS Lambda & API Gatewayコースには全4レッスンが含まれています。

「初めてのLambda Function(Python)」で何を学びますか?

Pythonを使って最初のAWS Lambda関数を作成・デプロイし、基本的な構造と実行モデルを学びます。 ブラウザで直接実行するハンズオンコードでServerless Backend with AWS Lambda & API Gatewayを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Serverless Backend with AWS Lambda & API Gatewayを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのServerless Backend with AWS Lambda & API Gatewayは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「初めてのLambda Function(Python)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このServerless Backend with AWS Lambda & API Gatewayレッスンでコードを書いて実行できますか?

はい。すべてのServerless Backend with AWS Lambda & API Gatewayレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Serverlessとは?
  2. AWS主要サービスの概要
  3. 初めてのLambda Function(Python)
  4. サーバーレス実行モデルの理解
← Serverless Backend with AWS Lambda & API Gatewayに戻る