0Pricing
Serverless Backend with AWS Lambda & API Gateway · レッスン

ステートマシンの構築

Lambdaやその他のサービスと統合し、用途に応じたステートマシン(Standard、Express)を設計・実装します。

「ステートマシンの構築」はCoddyKit上の無料Serverless Backend with AWS Lambda & API Gatewayレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これは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 Task state.

Next, we'll explore orchestrating complex workflows!

よくある質問

「ステートマシンの構築」レッスンは無料ですか?

はい。「ステートマシンの構築」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Serverless Backend with AWS Lambda & API Gatewayコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Serverless Backend with AWS Lambda & API Gatewayコースには全4レッスンが含まれています。

「ステートマシンの構築」で何を学びますか?

Lambdaやその他のサービスと統合し、用途に応じたステートマシン(Standard、Express)を設計・実装します。 ブラウザで直接実行するハンズオンコードでServerless Backend with AWS Lambda & API Gatewayを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Serverless Backend with AWS Lambda & API Gatewayを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのServerless Backend with AWS Lambda & API Gatewayは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「ステートマシンの構築」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このServerless Backend with AWS Lambda & API Gatewayレッスンでコードを書いて実行できますか?

はい。すべてのServerless Backend with AWS Lambda & API Gatewayレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. AWS Step Functions入門
  2. ステートマシンの構築
  3. 複雑なワークフローのオーケストレーション
  4. ステートマシンのエラー処理とリトライ
← Serverless Backend with AWS Lambda & API Gatewayに戻る