Amazon Web Services ブログ
タスク状態のテストと外部エンドポイントが AWS Step Functions で利用できるようになりました
AWS Step Functions HTTPS エンドポイントでは、サードパーティー API と外部サービスをワークフローに統合できるようになりました。HTTPS エンドポイントを使用すると、外部 API を呼び出して既存の SaaS プロバイダーと簡単に統合できます。例えば、支払い処理には Stripe、コードコラボレーションとリポジトリ管理には GitHub、営業やマーケティングのインサイトには Salesforce などがあります。このリリース前は、顧客は AWS Lambda 関数を使用して外部エンドポイントを呼び出し、認証とエラーをコードで直接処理する必要がありました。
また、ステートマシンをデプロイしたり実行したりすることなく、タスクの状態を個別にテストできる新しい機能も発表しました。
AWS Step Functions は、デベロッパーが分散アプリケーションの構築、プロセスの自動化、マイクロサービスの調整、データおよび機械学習 (ML) パイプラインの作成を簡単に行える視覚的なワークフローサービスです。Step Functions は 220 以上の AWS のサービスと統合され、組み込みのエラー処理、リアルタイムで監査可能なワークフロー実行履歴、大規模な並列処理など、デベロッパーが構築するのに役立つ機能を提供します。
HTTPS エンドポイント
HTTPS エンドポイントは、AWS 外のサードパーティー HTTP ターゲットに接続できるようにするタスクステートの新しいリソースです。Step Functions は HTTP エンドポイントを呼び出し、リクエスト本文、ヘッダー、パラメータを配信し、サードパーティーサービスからレスポンスを取得します。GET や POST など、任意の HTTP メソッドを使用できます。
HTTPS エンドポイントは、Amazon EventBridge 接続を使用してターゲットの認証情報を管理します。これにより、使用する認証タイプが定義されます。これには、ユーザー名とパスワード、API キー、OAuth による基本認証などがあります。EventBridge 接続では、AWS Secrets Manager を使用してシークレットを保存します。これにより、シークレットがステートマシンから除外され、ログやステートマシンの定義でシークレットが誤って公開されるリスクが軽減されます。
HTTPS エンドポイントの開始方法
HTTPS エンドポイントを使い始めるには、まず EventBridge 接続を作成する必要があります。次に、新しい AWS Identity and Access Management (IAM) ロールを作成し、許可を付与する必要があります。これにより、ステートマシンが接続リソースにアクセスし、Secrets Manager からシークレットを取得し、HTTP エンドポイントを呼び出す許可を取得できます。
ステートマシンの実行ロールに含める必要があるポリシーは次のとおりです。
すべての準備が整ったら、ステートマシンを作成できます。ステートマシンに、サードパーティー API を呼び出すための新しいタスクステートを追加します。必要なサードパーティー URL を指すように API エンドポイントを設定し、正しい HTTP メソッドを設定し、以前に作成した接続の Amazon リソースネーム (ARN) をそのエンドポイントの認証として選択し、必要に応じてリクエスト本文を指定することができます。さらに、これらのパラメータはすべて、ランタイムの際に JSON のステート入力から動的に設定できます。
これで、Step Functions を使用して外部からのリクエストを行うのが簡単になり、Step Functions が提供するすべての設定を利用して、一時的なエラーや一時的なサービスが利用できなくなった場合の再試行や、調査や解決に時間がかかるエラーのリドライブなどのエラーを処理できます。
状態をテストする
フィードバックサイクルを加速するために、個々の状態をテストする新しい機能も発表します。この新機能により、ワークフローの実行とは別に状態をテストできます。これは、エンドポイントの設定をテストする場合に特に便利です。ワークフローをデプロイしたり、ステートマシン全体を実行したりすることなく、入力を変更してさまざまなシナリオをテストできます。この新機能は、すべてのタスク、選択、およびパスステートで利用できます。
タスクを選択すると、Step Functions Workflow Studio にテスト機能が表示されます。
[Test state] (状態をテスト) を選択すると、タスクの状態をテストできる別のビューにリダイレクトされます。ステートマシンロールに適切な許可があること、呼び出すエンドポイントが正しく設定されていること、およびデータ操作が期待どおりに行えることをテストできます。
利用状況
Step Functions が提供するすべての機能により、支払いフロー、手動入力によるワークフロー、レガシーシステムへの統合など、さまざまな問題を解決できるステートマシンの構築がこれまでになく簡単になりました。Step Functions HTTPS エンドポイントを使用すると、ユーザーのクレジットカードに一度だけ請求され、エラーが自動的に処理されるようにしながら、一般的な支払いプラットフォームと直接統合できます。さらに、ステートマシンをデプロイする前でも、新しいテストステート機能を使用してこの新しい統合をテストできます。
新機能は、アジアパシフィック (ハイデラバード)、アジアパシフィック (メルボルン)、AWS イスラエル (テルアビブ)、中国、GovCloud リージョンを除くすべての AWS リージョンでご利用いただけます。
使用を開始するには、AWS マネジメントコンソールの Step Functions にある「Stripe を使用して請求書を生成」のサンプルプロジェクトを試してみるか、AWS Step Functions デベロッパーガイドで詳細をご確認ください。
– Marcia
原文はこちらです。