動画の容量と保存 · 参考資料確認日 2026年9月23日
Step Functionsの256 KiBと1 MBは何が違う?データとAPIリクエストの上限
APIリクエストが1 MB以下でも、Step Functionsで扱う入出力データの上限を満たしているとは限りません。task・state・executionの入力または出力には、UTF-8で最大256 KiBという別の制限があります。
入出力データはUTF-8で256 KiBまで
Step Functionsのtask・state・executionの入力または出力は、UTF-8でエンコードされたデータとして最大256 KiBです。APIへの送信全体が小さくても、該当する入出力がこの上限を超えていれば、APIリクエスト側の条件を満たすだけでは解決できません。
サイズを調べる対象は、失敗した処理に渡した入力や、その処理から返された出力です。文字数だけで判断せず、UTF-8でエンコードしたデータのサイズを確認してください。
APIリクエスト全体の1 MBは別に測る
APIリクエストには、ヘッダーを含むリクエスト全体で1件あたり1 MBという上限があります。これは入出力データの256 KiB制限を引き上げるものではありません。入出力データとAPIリクエスト全体を、それぞれの対象と単位で判定してください。
たとえば、APIリクエスト全体が1 MB以下でも、その中で渡すstateの入力が256 KiBを超えている状況では、stateの入力を小さくする必要があります。この例は二つの上限の関係を示すもので、サイズ条件を満たした処理の成功を保証するものではありません。
超過したデータの位置を特定し、S3参照へ置き換える
まず失敗した操作を確認し、大きいデータがtask・state・executionの入力と出力のどこにあるかを特定します。該当するデータをUTF-8で測り、256 KiBを超える場合は、そのまま入出力に載せる構成を見直してください。
大きなデータには、S3に置いたデータのARNや参照を使う方法が案内されています。入出力には参照を渡す構成へ変更し、変更後の入出力サイズを確認します。そのうえで、ヘッダーを含むAPIリクエスト全体も別途測り、1 MBの上限内か確かめてください。
参考資料
- Step Functions service quotas
https://docs.aws.amazon.com/step-functions/latest/dg/service-quotas.html
確認日:2026-09-23
- Step Functions best practices
https://docs.aws.amazon.com/step-functions/latest/dg/sfn-best-practices.html
確認日:2026-09-22