Function ComputeとCloudFlowを統合して、大規模で複雑なシナリオのタスクプロセスに関数の非同期呼び出しを適用できます。 シーケンス、選択、並列など、CloudFlowの制御ロジックに基づいて、Function Compute非同期タスクを調整できます。 CloudFlowは、指定されたステップに従ってタスクの実行を信頼できる方法で調整し、各タスクの状態遷移を追跡し、必要に応じて定義された再試行ロジックを実行して、スムーズで成功したフロータスクを保証します。 このトピックでは、非同期タスクのオーケストレーションを設定する方法について説明します。
前提条件
非同期タスクが作成されます。 詳細については、「タスクの管理」をご参照ください。
Function Computeには、CloudFlowにアクセスする権限が付与されています。 詳細については、「他のAlibaba Cloudサービスへのアクセス権限付与」をご参照ください。
手順
CloudFlowコンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[ワークフロー] をクリックします。 [ワークフロー] ページで、[ワークフローの作成] をクリックします。
ワークフローの作成ダイアログボックスで、ワークフローを作成する方法を選択し、ワークフローのモードを選択します。
CloudFlowでは、標準モードまたはエクスプレスモードでワークフローを作成できます。 2つのモードの詳細については、「標準モードとエクスプレスモード」をご参照ください。 詳細については、「空白のキャンバスに基づくワークフローの作成」をご参照ください。
[ワークフローの編集] ページで、ワークフローを定義し、ワークフローの実行に使用するロールを設定します。
フローコードを入力します。
CloudFlow StudioまたはYAMLを使用してフローを編集できます。 この例では、YAMLが使用されています。
フローの詳細ページの右上隅で、[YAML] をクリックします。 左側のコードエディターで、フローで使用するコードを入力し、[保存] をクリックします。
次のコードスニペットは例を示します。
Type: StateMachine Name: flow SpecVersion: v1 StartAt: InvokeFunction States: - Type: Task Name: InvokeFunction Action: FC:InvokeFunction TaskMode: RequestComplete Parameters: invocationType: Async resourceArn: acs:fc:{region}:{account}:services/{serviceName}.{qualifier}/functions/{functionName} End: true
フローロールを設定します。
フローの詳細ページの右上隅で、[ワークフローの設定] をクリックします。 [ロールの設定] セクションで、[実行ロール] ドロップダウンリストからロールを選択し、[保存] をクリックします。
説明フローに設定されたロールにAliyunFCInvocationAccessポリシーがアタッチされていることを確認します。
フローの詳細ページで、右上隅の [実行] をクリックしてフローをトリガーし、フローが期待どおりに機能するかどうかを確認します。