การสร้างเครื่องจักรสถานะ
ออกแบบและพัฒนาเครื่องจักรสถานะประเภทต่าง ๆ (Standard, Express) สำหรับกรณีการใช้งานที่แตกต่างกัน พร้อมผสานรวมกับ Lambda และบริการอื่น ๆ
การสร้างเครื่องจักรสถานะ เป็นบทเรียน Serverless Backend with AWS Lambda & API Gateway ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Serverless Backend with AWS Lambda & API Gateway และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Serverless Backend with AWS Lambda & API Gateway มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
Build Your First Workflow
Welcome back! In the previous lesson, we learned what AWS Step Functions are. Now, let's dive into building them!
You'll learn how to define different steps (states) and connect them to create powerful, automated workflows. We'll also explore the two main types of workflows: Standard and Express.
Anatomy of a State Machine
A Step Functions state machine is a workflow that defines a series of steps, called states. Each state performs a specific task or makes a decision.
- States: The individual steps in your workflow.
- Transitions: Rules that determine which state comes next.
- Input/Output: Data passed between states.
Think of it like a flowchart, but executed by AWS!
Common State Types
Step Functions offers various state types to build your logic:
- Task: Performs work by calling a service (e.g., Lambda, ECS).
- Pass: Passes its input to its output without performing work. Useful for debugging or structuring.
- Choice: Adds branching logic (if/else).
- Wait: Pauses the execution for a specified time or until a specific time.
- Succeed/Fail: Stops the execution successfully or with an error.
- Parallel: Executes multiple branches in parallel.
Defining a Simple Pass State
Let's start with a simple Pass state. This state simply takes its input and passes it as output. It's often used for testing or structuring your state machine.
State machines are defined using Amazon States Language (ASL), which is a JSON-based structure.
Pass State ASL Example
Here's how a Pass state looks in ASL. It defines the state name, its type, and where to go next.
{ "Comment": "A simple Pass state machine",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Pass",
"Result": {
"message": "Hello from Step Functions!"
},
"End": true
}
}
}Standard Workflows: The Durable Choice
AWS Step Functions offers two workflow types: Standard and Express.
Standard Workflows are ideal for long-running, durable, and auditable workflows. They can run for up to a year!
- Durability: Retains full execution history for up to 90 days.
- Auditability: Easy to track every step and input/output.
- Use Cases: Order fulfillment, data processing pipelines, human approvals.
Express Workflows: Speed and Scale
Express Workflows are designed for high-volume, event-driven workloads. They are much faster and more cost-effective for short-duration tasks.
- Speed: Can complete thousands of executions per second.
- Cost: Priced per execution and duration, often cheaper for short tasks.
- History: Execution history is limited (up to 90 days in CloudWatch Logs, not directly in Step Functions console).
- Use Cases: Microservice orchestration, real-time streaming data processing, mobile backend processing.
Integrating Lambda: The Task State
One of the most common ways to perform work in a state machine is using a Task state to invoke an AWS Lambda function.
The Resource field in the ASL specifies the ARN of the Lambda function to call.
Example Lambda for Step Functions
This simple Python Lambda function receives an event (input from Step Functions) and returns a modified message. Step Functions will pass its output to the next state.
import json
def lambda_handler(event, context):
print(f"Received event: {json.dumps(event)}")
name = event.get('name', 'World')
return {
'statusCode': 200,
'body': f"Hello, {name}! This is from Lambda."
}Workflow Type Challenge
You need to build a workflow for processing thousands of incoming IoT sensor readings every minute. Each reading takes less than 1 second to process.
Recap: Building Workflows
Great job! You've learned the fundamentals of building AWS Step Functions state machines:
- State machines are defined by a series of states and transitions.
- Key state types include Task, Pass, Choice, and Wait.
- Standard Workflows are for long-running, auditable processes.
- Express Workflows are for high-volume, short-duration tasks.
- You can integrate Lambda functions using a
Taskstate.
Next, we'll explore orchestrating complex workflows!
เรียนรู้ Serverless Backend with AWS Lambda & API Gateway ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 12
- บทเรียน
- 48
คำถามที่พบบ่อย
บทเรียน “การสร้างเครื่องจักรสถานะ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสร้างเครื่องจักรสถานะ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Serverless Backend with AWS Lambda & API Gateway ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Serverless Backend with AWS Lambda & API Gateway มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสร้างเครื่องจักรสถานะ”
ออกแบบและพัฒนาเครื่องจักรสถานะประเภทต่าง ๆ (Standard, Express) สำหรับกรณีการใช้งานที่แตกต่างกัน พร้อมผสานรวมกับ Lambda และบริการอื่น ๆ คุณปฏิบัติ Serverless Backend with AWS Lambda & API Gateway ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Serverless Backend with AWS Lambda & API Gateway หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Serverless Backend with AWS Lambda & API Gateway บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การสร้างเครื่องจักรสถานะ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Serverless Backend with AWS Lambda & API Gateway นี้ได้ไหม
ได้ บทเรียน Serverless Backend with AWS Lambda & API Gateway ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่ AWS Step Functions
- การสร้างเครื่องจักรสถานะ
- การประสานกระบวนการทำงานที่ซับซ้อน
- การจัดการข้อผิดพลาดและการลองใหม่ในเครื่องสถานะ