0Pricing
Serverless Backend with AWS Lambda & API Gateway · Урок

Первая функция 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 — локальная установка не требуется.

Все уроки этого курса

  1. Что такое бессерверная архитектура?
  2. Обзор основных сервисов AWS
  3. Первая функция Lambda (Python)
  4. Принцип работы бессерверного выполнения
← Назад к Serverless Backend with AWS Lambda & API Gateway