AWS Step Functions
開発者ガイド

開発オプション

AWS Step Functions ステートマシンはいくつかの方法で実装できます。

Step Functions コンソール

ステートマシンは Step Functions コンソールを使用して定義できます。AWS Lambda を使用してタスクのコードを入力し、Step Functions コンソールで Amazon ステートメント言語 を使用してステートマシンを定義することで、ローカルの開発環境を使用せずにクラウド内に複雑なステートマシンを作成できます。

Lambda ステートマシンの作成チュートリアルでは、この方法を使用してシンプルなステートマシンを作成し、それを実行して結果を確認します。

AWS SDK

Step Functions は、AWS SDKs for Java、.NET、Ruby、PHP、Python (Boto 3)、JavaScript、Go、および C++ でサポートされています。これらの SDK は、さまざまなプログラミング言語で Step Functions HTTPS API アクションを使用するための便利な方法を提供します。

これらの SDK ライブラリで公開されている API アクションを使用して、ステートマシン、アクティビティ、ステートマシンスターターを開発できます。また、これらのライブラリを使用して可視性オペレーションにアクセスし、独自の Step Functions のモニタリングおよびレポートツールを開発できます。

Step Functions を他の AWS のサービスで使用するには、現行の AWS SDK のリファレンスドキュメントおよびアマゾン ウェブ サービスのツールを参照してください。

注記

Step Functions は HTTPS エンドポイントのみをサポートしています。

HTTPS サービス API

Step Functions は HTTPS リクエスト経由でアクセス可能なサービスオペレーションを提供します。これらのオペレーションを使用して Step Functions と直接通信したり、HTTPS を介して Step Functions と通信できる任意の言語で独自のライブラリを開発したりできます。

サービス API アクションを使用するステートマシン、ワーカー、ステートマシンスターターを開発できます。また、API アクションを介して可視性オペレーションにアクセスし、独自のモニタリングおよびレポートツールを開発できます。

API アクションの詳細については、AWS Step Functions API リファレンス を参照してください。

開発環境

使用するプログラミング言語に適した開発環境を設定する必要があります。

たとえば、Java を使用して Step Functions で開発する場合、Java 開発環境 (AWS SDK for Java など) を各開発ワークステーションにインストールする必要があります。Java 開発者が Eclipse IDE を使用する場合は、AWS Toolkit for Eclipse もインストールする必要があります。この Eclipse プラグインによって AWS の開発に役立つ機能が追加されます。

プログラミング言語にランタイム環境が必要な場合は、これらのプロセスを実行する各コンピュータに環境を設定する必要があります。

エンドポイント

レイテンシーを軽減し要件を満たす場所にデータを保存するために、Step Functions では異なる AWS リージョンのエンドポイントが用意されています。

Step Functions の各エンドポイントは完全に独立しています。ステートマシンまたはアクティビティは、それが作成されたリージョン内にのみ存在します。あるリージョンで作成されたステートマシンおよびアクティビティは、別のリージョンで作成されたものとデータや属性を共有しません。たとえば、2 つの異なるリージョンに STATES-Flows-1 にという名前のステートマシンを登録できますが、2 つのステートマシンは相互にデータや属性を共有せず、相互に完全に独立しています。

Step Functions エンドポイントのリストについては、アマゾン ウェブ サービス全般のリファレンスの「リージョンとエンドポイント: AWS Step Functions」を参照してください。

AWS CLI

AWS CLI から Step Functions の多くの機能にアクセスできます。AWS CLI は、Step Functions コンソールの使用、または場合によっては AWS Step Functions API アクションを使用したプログラミングの代替手段を提供します。たとえば、AWS CLI を使用してステートマシンを作成し、その後ステートマシンを一覧表示できます。

AWS CLI の Step Functions コマンドを使用して、実行、アクティビティのポーリング、タスクハートビートの記録などを開始および実行できます。Step Functions コマンドの完全なリストと使用可能な引数、および使用方法を示す例については、『AWS CLI Command Reference』を参照してください。

AWS CLI​ コマンドは Amazon ステートメント言語​ に密接に従うため、AWS CLI​ を使用して Step Functions​ API アクションについて習得できます。また、既存の API の知識を使用して、コマンドラインからコードのプロトタイプを作成したり Step Functions アクションを実行したりできます。

Step Functions ローカル

テストと開発のため、ローカルマシンで Step Functions をインストールおよび実行できます。Step Functions ローカルでは、任意のマシンで実行を開始できます。

ローカルバージョンの Step Functions は、AWS およびローカルの実行で Lambda 関数を呼び出すことができます。また、他のサポートされている AWS のサービスを調整することもできます。詳細については、「Step Functions Local (ダウンロード可能バージョン) のセットアップ」を参照してください。