---
title: 【AWS】Step Functionsの変数を使用したエラー処理方法について
description: AWS Step Functionsのエラー処理方法を解説。変数を使用して処理を継続し、最終的なエラー判定を行う手法をご紹介。
image: https://knowledge.insight-lab.co.jp/hubfs/Imported_Blog_Media/image%20(8).png
---

[![INSIGHT LAB](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png?width=400&height=110&name=INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png) ![INSIGHT LAB](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF.png?width=400&height=110&name=INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF.png)](https://knowledge.insight-lab.co.jp/aidx)

[![お問い合わせ](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/5935783/97d2baf6-f3cd-4932-be66-900264c5d298.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/5935783/97d2baf6-f3cd-4932-be66-900264c5d298)

<https://knowledge.insight-lab.co.jp/aidx/-aws-step-functions-error-handling#tmpmodule_1593485625696253>

- [AIDXナレッジ](https://knowledge.insight-lab.co.jp/aidx)

###### 3 分で読むことができます。

# [【AWS】Step Functionsの変数を使用したエラー処理方法について](https://knowledge.insight-lab.co.jp/aidx/-aws-step-functions-error-handling)

 執筆者 [Coffee](https://knowledge.insight-lab.co.jp/aidx/author/coffee) 更新日時 2025年6月30日

###### Topics: [AWS](https://knowledge.insight-lab.co.jp/aidx/tag/aws) [Step Functions](https://knowledge.insight-lab.co.jp/aidx/tag/step-functions)

![](https://knowledge.insight-lab.co.jp/hubfs/Imported_Blog_Media/image%20(8).png)

 目次

## はじめに

---

AWS Step Functionsの直列処理を定期運用で使用している際、途中で落ちても最後まで処理を実行したいという要件がありました。

ただし、処理が一つでも落ちたら最終的にはエラー終了にて終わらせるように設計する必要があります。

上記内容を実現するための方法をまとめましたので参考にしてください。

## システム構成

1. 変数の定義
2. Step1の実行
3. Catch処理でエラー検知
4. Step2の実行
5. Catch処理でエラー検知
6. Choicesでまとめてエラー処理

特に重要となるのが1の変数の定義となります。

こちらの変数の定義については、Stepfunctionsにて2024年11月22日に追加された比較的新しい機能になります。

参考：

[https://aws.amazon.com/jp/about-aws/whats-new/2024/11/aws-step-functions-variables-jsonata-transformations/](https://aws.amazon.com/jp/about-aws/whats-new/2024/11/aws-step-functions-variables-jsonata-transformations/)

従来は変数を使用したい場合は、一つ一つのStepにて引き継いで処理を作成する必要があり非常に煩雑な内容になってしまっていました。

そこを今回変数を使用することで簡易的な実装を行うことが出来ます。

## 詳細

上記が実際のコード例になります。  
また実際に作成すると以下のような形になります。

![image (8)](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/Imported_Blog_Media/image%20(8).png?width=412&height=443&name=image%20(8).png)

それぞれの処理の詳細について簡単に説明させていただきます。

| ステート名 | タイプ | 説明 |
| --- | --- | --- |
| `InitErrorFlag` | Pass | 実行開始時に `errorFlg` を0で初期化する |
| `Step1` | Task | 最初のLambda（`arn:aws:lambda:xxx`）を実行。エラー時は `LogErrorStep1` 。成功時は `Step2` |
| `LogErrorStep1` | Pass | `Step1` が失敗した場合に変数 `errorFlg: 1` を設定 |
| `Step2` | Task | 2つ目のLambda（`arn:aws:lambda:yyy`）を実行。エラー時は `LogErrorStep2` 。成功時は `CheckFailures` |
| `LogErrorStep2` | Pass | `Step2` が失敗した場合に変数 `errorFlg: 1` を設定 |
| `CheckFailures` | Choice | `errorFlg` を確認：1なら `FailState` 、0なら `SuccessState` |
| `FailState` | Fail | エラー発生として実行を終了（失敗扱い） |
| `SuccessState` | Succeed | 正常完了として実行を終了（成功扱い） |

 

今回特に重要となるのがInitErrorFlagステートでの変数の初期化とCheckFailuresステートでのエラー判定になります。

**InitErrorFlag**

Assignにて変数の初期化を行ってます。

今回はエラー判定のために0を初期値として設定しています。

**Step1**

Catchを使用してエラー時の処理を決めています。

今回は全てのエラーを対象にしていますが、特定のエラーを対象にすることもできます。

**LogErrorStep1**

こちらでエラーが起きた場合に変数に1を格納します。

この値を後ほど参照してエラーが起きたかを確認します。

**CheckFailures**

Choicesを使用して変数の値によって遷移先を指定しています。

今回はエラー時に変数に1を格納しているため、1の時にはFailStateに遷移するよう設定しました。

## おわりに

今回はエラー時にも処理を止めず最後に判定するようなシステムを構成しました。

Stepfunctionsのエラーハンドリングにはこの他にもRetry機能等が存在しております。

それぞれの要件にあったシステム構成を簡単に作成できると思いますので、今後も積極的に利用していきましょう！

 

- [Tweet](https://twitter.com/share)

![Coffee](https://app.hubspot.com/settings/avatar/544aeaf66bc0bebc3dc5063aa1694b82)

#### 執筆者 [Coffee](https://knowledge.insight-lab.co.jp/aidx/author/coffee)

###### [前の投稿](https://knowledge.insight-lab.co.jp/aidx/-copilot-pdf-data-extraction)

[![](https://knowledge.insight-lab.co.jp/hubfs/images.jpg)](https://knowledge.insight-lab.co.jp/aidx/-copilot-pdf-data-extraction)

###### [【Copilot】CopilotによるPDFデータの表形式抽出](https://knowledge.insight-lab.co.jp/aidx/-copilot-pdf-data-extraction)

###### [次の投稿](https://knowledge.insight-lab.co.jp/aidx/googlecloud-anomaly-detection-in-data)

[![](https://knowledge.insight-lab.co.jp/hubfs/AI-Generated%20Media/Images/The%20image%20depicts%20a%20modern%20sleek%20workspace%20featuring%20multiple%20computer%20screens%20displaying%20data%20analytics%20dashboards%20and%20code%20editor%20windows%20One%20screen%20shows%20a%20vibrant%20graph%20with%20fluctuating%20lines%20indicating%20sales%20trends%20while%20another%20displays%20a%20SQL%20q-1.jpeg)](https://knowledge.insight-lab.co.jp/aidx/googlecloud-anomaly-detection-in-data)

###### [【GoogleCloud】BigQuery×Cloud Run Jobs×Cloud Loggingによるデータの異常検知の方法](https://knowledge.insight-lab.co.jp/aidx/googlecloud-anomaly-detection-in-data)

##### INFORMATION

INFORMATION

- [会社概要](https://www.insight-lab.co.jp/about/company.html)
- [お問い合わせ](https://www.insight-lab.co.jp/contact.html)

##### MENU

MENU

- [AIDXナレッジ](https://knowledge.insight-lab.co.jp/aidx)
- [NEWS AI SEARCH](https://solution.insight-lab.co.jp/ai/news-ai-search)

[![INSIGHT LAB](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png?width=200&height=55&name=INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png "INSIGHT LAB")](https://www.insight-lab.co.jp/)

- [プライバシーポリシー](https://www.insight-lab.co.jp/privacy.html)

Copyright © 2020 INSIGHT LAB, Inc.

<https://www.facebook.com/AI-Knowledge-204095220273271>