Первая функция Lambda (Python)
Напишите и разверните свою первую функцию AWS Lambda на Python, изучив её базовую структуру и модель выполнения
«Первая функция Lambda (Python)» — бесплатный урок Serverless Backend with AWS Lambda & API Gateway на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения 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 (Python)» бесплатный?
Да — полный текст урока «Первая функция Lambda (Python)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Serverless Backend with AWS Lambda & API Gateway, подпишись на CoddyKit PRO. Курс Serverless Backend with AWS Lambda & API Gateway содержит 4 уроков всего.
Чему я научусь в уроке «Первая функция Lambda (Python)»?
Напишите и разверните свою первую функцию AWS Lambda на Python, изучив её базовую структуру и модель выполнения Ты практикуешь Serverless Backend with AWS Lambda & API Gateway с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Serverless Backend with AWS Lambda & API Gateway?
Предыдущий опыт не требуется. Serverless Backend with AWS Lambda & API Gateway на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Первая функция Lambda (Python)»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Serverless Backend with AWS Lambda & API Gateway?
Да. Каждый урок Serverless Backend with AWS Lambda & API Gateway включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Что такое бессерверная архитектура?
- Обзор основных сервисов AWS
- Первая функция Lambda (Python)
- Принцип работы бессерверного выполнения