10.12. AWS-SWF


SWF コンポーネント

Camel 2.13 で利用可能
Simple Workflow コンポーネントは、Amazon の Simple Workflow サービスからワークフローの 管理をサポートします。
注記
Amazon Simple Workflow を使用するには、有効な Amazon Web Services 開発者アカウントが必要です。詳細は Amazon Simple Workflow を参照してください。

URI 形式

aws-swf://<workflow|activity>[?options]
Copy to Clipboard Toggle word wrap
URI にクエリーオプションは ?options=value&option2=value&.. の形式で追加できます。

URI オプション

Expand
名前
デフォルト値
コンテキスト
説明
amazonSWClient
null
すべて
レジストリー の com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflowClient への 参照
accessKey
null
すべて
Amazon AWS Access Key。
secretKey
null
すべて
Amazon AWS Secret Key。
sWClient.XXX
null
すべて
使用中の AmazonSimpleWorkflowClient に設定するプロパティー。
clientConfiguration.XXX
null
すべて
使用中の ClientConfiguration に設定するプロパティー。
startWorkflowOptions.XXX
null
ワークフロー/プロデューサー
使用中の useStartWorkflowOptions に設定するプロパティー。
operation
START
ワークフロー/プロデューサー
ワークフローで実行する操作。サポートされる操作は次のとおりです。SIGNALCANCELTERMINATEGET_STATE、NORMAL、NORMAL。START DESCRIBE GET_HISTORY
domainName
null
すべて
使用するワークフロードメイン。
activityList
null
アクティビティー/コンシューマー
アクティビティーの使用元となるリスト名。
workflowList null
ワークフロー/コンシューマー
ワークフローを使用するリスト名。
eventName null すべて 使用するワークフローまたはアクティビティーイベント名。
version null すべて 使用するワークフローまたはアクティビティーイベントバージョン。
signalName null ワークフロー/プロデューサー ワークフローに送信するシグナルの名前。
childPolicy null ワークフロー/プロデューサー ワークフローを終了する際に子ワークフローで使用するポリシー。
terminationReason null ワークフロー/プロデューサー ワークフローを終了する理由。
stateResultType Object ワークフロー/プロデューサー ワークフローの状態のクエリー時の結果のタイプ。
terminationDetails null ワークフロー/プロデューサー ワークフローを終了するための詳細。
dataConverter JsonDataConverter すべて データをシリアライズ/デシリアライズするために使用する com.amazonaws.services.simpleworkflow.flow.DataConverter のインスタンス。
activitySchedulingOptions null アクティビティー/プロデューサー 異なるタイムアウトオプションを指定するために使用される ActivitySchedulingOptions のインスタンス。
activityTypeExecutionOptions null アクティビティー/コンシューマー ActivityTypeExecutionOptions のインスタンス。
activityTypeRegistrationOptions null アクティビティー/コンシューマー ActivityTypeRegistrationOptions のインスタンス。
workflowTypeRegistrationOptions null ワークフロー/コンシューマー WorkflowTypeRegistrationOptions のインスタンス。
注記
Amazon の Simple Workflow Service にアクセスするには、レジストリー または accessKey および secretKey に amazonSWClient を指定する必要があります。

使用方法

SWF ワークフロープロデューサーによって評価されるメッセージヘッダー

ワークフロープロデューサーは、ワークフローとの対話を可能にします。新しいワークフロー実行の開始、状態へのクエリー、実行中のワークフローへのシグナル送信、または終了および取り消しを行うことができます。
Expand
ヘッダー
タイプ
説明
CamelSWFOperation
String
ワークフローで実行する操作。サポートされている操作:SIGNAL、CANCEL、TERMINATE、GET_STATE、START、DESCRIBE、GET_HISTORY。
CamelSWFWorkflowId
String
使用するワークフロー ID。
CamelAwsDdbKeyCamelSWFRunId
String
使用するワクロー実行 ID。
CamelSWFStateResultType
String
ワークフローの状態のクエリー時の結果のタイプ。
CamelSWFEventName
String
使用するワークフローまたはアクティビティーイベント名。
CamelSWFVersion
String
使用するワークフローまたはアクティビティーイベントバージョン。
CamelSWFReason
String
ワークフローを終了する理由。
CamelSWFDetails
String
ワークフローを終了するための詳細。
CamelSWFChildPolicy
String
ワークフローを終了する際に子ワークフローで使用するポリシー。

SWF ワークフロープロデューサーによって設定されたメッセージヘッダー

Expand
ヘッダー
タイプ
説明
CamelSWFWorkflowId
String
使用される Worfklow ID、または新たに生成された ID。
CamelAwsDdbKeyCamelSWFRunId
String
使用されるか、または生成される Worfklow run ID。

SWF ワークフローコンシューマーによって設定されたメッセージヘッダー

ワークフローコンシューマーはワークフローロジックを表します。開始時に、ワークフローのデシジョンタスクのポーリングを開始し、これを処理します。ワークフローコンシューマールートは、デシジョンタスクの処理の他に、シグナル(ワークフロープロデューサーから送信)または状態クエリーも受信します。ワークフローコンシューマーの主な目的は、アクティビティープロデューサーを使用して実行するアクティビティータスクをスケジュールすることです。実際のアクティビティータスクは、ワークフローコンシューマーが開始したスレッドからのみスケジュールできます。
Expand
ヘッダー
タイプ
説明
CamelSWFAction
String
現在のイベントのタイプ(CamelSWFActionExecute、CamelSWFSignalReceivedAction または CamelSWFGetStateAction)を指定します。
CamelSWFWorkflowReplaying
boolean
現在のデシジョンタスクが再生されているかどうかを示します。
CamelSWFWorkflowStartTime
long
このデシジョンタスクの開始イベントの時間。

SWF アクティビティープロデューサーによって設定されたメッセージヘッダー

アクティビティープロデューサーは、アクティビティータスクをスケジュールできます。アクティビティープロデューサーは、ワークフローコンシューマーが開始したスレッドからのみ使用できます。つまり、ワークフローコンシューマーによって開始される同期エクスチェンジを処理できます。
Expand
ヘッダー
タイプ
説明
CamelSWFEventName
String
スケジュールするアクティビティー名。
CamelSWFVersion
String
スケジュールするアクティビティーバージョン。

SWF Activity コンシューマーによって設定されたメッセージヘッダー

Expand
ヘッダー
タイプ
説明
CamelSWFTaskToken
String
手動で完了したタスクのタスク完了を報告するのに必要なタスクトークン。

高度な amazonSWClient 設定

AmazonSimpleWorkflowClient インスタンス設定をさらに制御する必要がある場合は、独自のインスタンスを作成して URI から参照できます。
#client は、レジストリー の AmazonSimpleWorkflowClient を参照し ます
たとえば、Camel アプリケーションがファイアウォールの背後で実行されている場合は、以下のようになります。
AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);

AmazonSimpleWorkflowClient client = new AmazonSimpleWorkflowClient(awsCredentials, clientConfiguration);

registry.bind("client", client);
Copy to Clipboard Toggle word wrap

Dependencies

Maven ユーザーは、以下の依存関係を pom.xml に追加する必要があります。
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-aws</artifactId>
    <version>${camel-version}</version>
</dependency>
Copy to Clipboard Toggle word wrap
ここで、${camel-version} は実際のバージョンの Camel (2.13 以降)に置き換える必要があります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat