İlk Lambda İşlevinizi Oluşturma
Çalışma zamanını, belleğini ve yürütme rolünü yapılandırarak basit bir Lambda işlevi yazın ve dağıtın.
İlk Lambda İşlevinizi Oluşturma, CoddyKit'te ücretsiz bir AWS for Backend Developers (EC2, S3, RDS, Lambda) dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AWS for Backend Developers (EC2, S3, RDS, Lambda) öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AWS for Backend Developers (EC2, S3, RDS, Lambda) kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Your First Lambda Function
Time to build your first serverless function! In this lesson, we'll write a simple AWS Lambda function that runs your code without managing servers.
We'll cover its basic structure, how to choose a runtime, and essential configurations like memory and execution roles. Get ready to deploy!
The Core: Your Lambda Handler
Every Lambda function needs a 'handler' function. This is the entry point where AWS Lambda starts executing your code. It typically receives two arguments:
event: Contains the data that triggered the invocation.context: Provides runtime information about the invocation, function, and execution environment.
Think of the handler as the 'main' method for your serverless code.
Pick Your Language: Lambda Runtimes
AWS Lambda supports many programming languages, called 'runtimes.' You choose the one your function code is written in. The runtime determines the execution environment and how your handler is called.
- Python: Great for scripting, data processing, and machine learning.
- Node.js: Ideal for real-time applications, APIs, and microservices.
- Java: Good for enterprise applications, high performance, and existing JVM ecosystems.
- Go, C#, Ruby, Custom Runtimes: More options for diverse needs and specific use cases.
Hello Lambda: A Basic Python Example
Let's write a very simple Python Lambda function. This function will take an input name from the event and return a greeting. Try running it to see the output!
import json
def lambda_handler(event, context):
# event is a dictionary containing invocation data
# context provides runtime info (e.g., function name, memory limit)
# We expect 'name' in the event payload
name = event.get('name', 'World')
message = f"Hello, {name}!"
# Lambda functions often return a dictionary, which AWS converts to JSON
return {
'statusCode': 200,
'body': json.dumps(message)
}
# --- Local Test Simulation ---
if __name__ == "__main__":
# Simulate an event payload
test_event = {"name": "CoddyKit User"}
# Simulate a dummy context object
class Context:
def __init__(self):
self.function_name = "my-test-function"
self.memory_limit_in_mb = 128
self.invoked_function_arn = "arn:aws:lambda:us-east-1:123456789012:function:my-test-function"
self.aws_request_id = "test-request-id-123"
test_context = Context()
# Call the handler
response = lambda_handler(test_event, test_context)
# Print the response for local verification
print(f"Status Code: {response['statusCode']}")
print(f"Body: {json.loads(response['body'])}")
# Test without a name
test_event_no_name = {}
response_no_name = lambda_handler(test_event_no_name, test_context)
print(f"\nStatus Code (no name): {response_no_name['statusCode']}")
print(f"Body (no name): {json.loads(response_no_name['body'])}")Your Function's Input: The Event
The event object is a Python dictionary (or JSON object in other runtimes) that contains the data passed to your function. This data comes from the service that triggered your Lambda.
- If triggered by an API Gateway: It contains HTTP method, headers, body.
- If triggered by S3: It contains details about the S3 bucket and object.
- If invoked directly: It contains whatever JSON payload you passed.
Your function processes this input to perform its task.
Runtime Details: The Context
The context object provides information about the invocation, function, and execution environment. It's useful for logging and making runtime decisions.
function_name: The name of your Lambda function.aws_request_id: A unique ID for the invocation.memory_limit_in_mb: The memory allocated to the function.get_remaining_time_in_millis(): How much time is left before the function times out.
You can use this for advanced error handling or logging within your function.
Permissions with IAM Execution Roles
A Lambda function needs permission to interact with other AWS services. This is managed by an IAM Role, specifically called the "execution role."
- The role defines what actions your Lambda can perform (e.g., write logs to CloudWatch, read from S3).
- You attach policies to this role, specifying permissions.
- Without the correct permissions, your function will fail when trying to access other AWS resources.
Always follow the principle of least privilege, granting only the necessary permissions.
Fine-Tuning: Memory & Timeout
When you create a Lambda function, you configure several settings that impact its performance and cost:
- Memory: Defines the RAM allocated (e.g., 128MB to 10GB). More memory often means more CPU power too.
- Timeout: The maximum time your function can run (e.g., 3 seconds to 15 minutes). If it exceeds this, Lambda stops it.
- Environment Variables: Key-value pairs accessible to your code, great for configuration without changing code.
Choosing appropriate settings is crucial for efficiency and cost optimization.
Getting Your Function Live
Once your code is ready, you deploy it to AWS Lambda. Here's a high-level overview:
- Package your code: Zip your code and any dependencies into a deployment package.
- Upload: Use the AWS Console, AWS CLI, or an Infrastructure as Code (IaC) tool like AWS SAM or CloudFormation.
- Test: Invoke your function directly from the Lambda console with test events, or trigger it via an integrated service like API Gateway or S3.
The console provides a quick way to get started and test your function immediately.
Quick Check: Lambda Handler
Consider the basic structure of a Python Lambda handler:
def lambda_handler(event, context):
# ... your code ...
return responseWhat is the primary purpose of the event parameter?
Recap: Your First Serverless Step
Great job! You've learned the fundamentals of building a Lambda function:
- Every Lambda needs a handler function as its entry point.
- You choose a runtime (like Python) for your code.
- The
eventobject carries input data, andcontextprovides runtime info. - An IAM execution role grants your function necessary permissions.
- You configure settings like memory and timeout for performance and cost.
This is your foundation for building powerful serverless applications!
Yapay zeka eğitmeniyle AWS for Backend Developers (EC2, S3, RDS, Lambda) öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 12
- Dersler
- 48
Sıkça Sorulan Sorular
“İlk Lambda İşlevinizi Oluşturma” dersi ücretsiz mi?
Evet — “İlk Lambda İşlevinizi Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AWS for Backend Developers (EC2, S3, RDS, Lambda) kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AWS for Backend Developers (EC2, S3, RDS, Lambda) kursu toplamda 4 dersten oluşur.
“İlk Lambda İşlevinizi Oluşturma” dersinde ne öğreneceğim?
Çalışma zamanını, belleğini ve yürütme rolünü yapılandırarak basit bir Lambda işlevi yazın ve dağıtın. AWS for Backend Developers (EC2, S3, RDS, Lambda) ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AWS for Backend Developers (EC2, S3, RDS, Lambda) öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AWS for Backend Developers (EC2, S3, RDS, Lambda), başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“İlk Lambda İşlevinizi Oluşturma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AWS for Backend Developers (EC2, S3, RDS, Lambda) dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AWS for Backend Developers (EC2, S3, RDS, Lambda) dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- AWS Lambda Nedir?
- İlk Lambda İşlevinizi Oluşturma
- Lambda Tetikleyicileri ve Bütünleştirmeleri
- Lambda İşlevlerini İzleme ve Hata Ayıklama