初めての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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Serverlessとは?
- AWS主要サービスの概要
- 初めてのLambda Function(Python)
- サーバーレス実行モデルの理解