なんと、Amazon Connect コンタクトフロー内でLambda 関数の非同期呼び出しが可能です

記事タイトルとURLをコピーする

こんにちは。アプリケーションサービス本部ディベロップメントサービス2課の濱田です。

今年一番の買い物は衣類乾燥機でした🧺

本記事では Amazon Connect のフローで Lambda を並列実行できるようになった という 2025 年 7 月のアップデートについて、「何が嬉しいのか」と「どう使うのか」をお伝えします。
Amazon Connect のフロー構築にきっと役立つ機能なので、ぜひ頭の片隅に置いておきましょう!

背景:Lambda の並列実行が可能に

2025 年 7 月 9 日のアップデートにより、Amazon Connect のフローにおいて Lambda 関数を並列実行できる ようになりました。

aws.amazon.com

公式アナウンスによると、以下のようなことが可能になります。

複数の Lambda 関数を同時に実行したり、Lambda の実行中にフローを続行して追加のアクションを実行したりできるようになりました。例えば、自動化された顧客インタラクションでは、顧客の過去の購入を確認すると同時に、アクティブなプロモーションを確認したり、新しいオファーに関するメッセージを再生したりできるようになりました。

つまり、Lambda の処理待ちの間に別のことができる ようになったわけです。

何が嬉しいのか

これまで

これまで、Lambda は同期的にしか呼び出すことができませんでした。

Lambda の処理が終わるまで次のフローに進めないため、処理に時間がかかる場合、お客様は 無言の時間 を経験することになります。
これは CX(カスタマーエクスペリエンス)の低下につながるでしょう。

気まずい、沈黙

これから

非同期呼び出しが可能になったことで、Lambda の結果を待ちながらフローを進められる ようになりました!🎉

例えば、Lambda を呼び出した後に案内音声を流したり、Lambda の処理中に別の処理を進めたりできます。

設定方法

Lambda の並列実行を実現するには、以下の 3 つのフローブロックを組み合わせます。

使用するフローブロック

やりたいこと フローブロック 設定値
Lambda の非同期呼び出し AWS Lambda 関数
公式ドキュメント
アクション:Lambda を呼び出す
実行モード:非同期モード
タイムアウト:60 秒まで設定可能
Lambda の非同期ロード AWS Lambda 関数 アクション:Lambda 結果をロード
Lambda Identifier
・名前空間 → Lambda 呼び出し
・キー → 呼び出し ID
Lambda 非同期呼び出し中の待機 待機
公式ドキュメント
参加者のタイプ:デフォルト
オプションの分岐:イベントベースの待機を設定
Lambda Identifier
・名前空間 → Lambda 呼び出し
・キー → 呼び出し ID
タイムアウト:7 日間まで設定可能
(Lambda 自体のタイムアウト上限は 15 分)

実践:Lambda 処理待ちの無言問題を回避する

実際にどんなシーンで使えるかを考えてみます。
ここでは、具体的な活用パターンを 3 つ紹介します。

パターン ①:最初にLambdaを呼び出しておく

Lambda の処理に時間がかかることがわかっている場合、フローの早い段階で非同期呼び出しを行い、必要になったタイミングで結果をロードする 方法です。

フロー構成:

  1. Lambda の非同期呼び出しブロック
  2. (他の処理や案内音声)
  3. Lambda の非同期ロードブロック

パターン①

Lambda を呼び出してから結果が必要になるまでの間に、他の処理を進めることができます。
嬉しいですね〜

パターン ②:呼び出し中に待機音声をループさせる

Lambda を呼び出した後、処理中であることを示す案内音声をループさせる 方法です。

フロー構成:

  1. Lambda の非同期呼び出しブロック
  2. 待機ブロック(案内音声をループ)
  3. Lambda の非同期ロードブロック

パターン②

お客様に無言の時間を経験させず、処理中であることを伝えられます。
音声で「現在処理中です」と言われるだけで、だいぶ顧客体験が変わってきますよね。

パターン ③:①と②の組み合わせ

非同期処理の処理時間にばらつきがある場合や、処理が時間内に終わるか微妙な場合には、パターン①とパターン②を組み合わせる ことも有効でしょう。

フロー構成:

  1. Lambda の非同期呼び出しブロック
  2. (他の処理や案内音声)
  3. Lambda の非同期ロードブロック
    • 結果が「進行中」の場合 → 待機ブロックへ
    • 結果が取得できた場合 → 次の処理へ
  4. 待機ブロック(案内音声をループ)
  5. Lambda の非同期ロードブロック

パターン③

先に Lambda を呼び出しつつ、結果ロード時に「進行中」なら待機に回して案内音声をループさせる、という柔軟な対応が可能です。

その他の活用方法

複数の Lambda を同時に呼ぶ

今回は検証していませんが、
非同期呼び出しを使えば、複数の Lambda 関数を同時に実行する こともできます。

例えば、顧客の過去の購入履歴を取得する Lambda と、アクティブなプロモーションを取得する Lambda を同時に呼び出し、それぞれの結果を別々にロードし、コンタクトフロー内で活用することが可能でしょう。
夢が広がります。

まとめ

本記事では、Amazon Connect のフローで Lambda を並列実行できるようになったアップデートについて、以下の内容をお伝えしました。

  • Lambda の非同期呼び出しにより、処理待ちの間にフローを進められる
  • 無言の時間を回避し、CX を向上できる
  • 3 つのフローブロック(非同期呼び出し、待機、非同期ロード)を組み合わせて実現
  • 複数の Lambda を同時に実行することも可能

Lambda の処理待ちで困っていた方は、ぜひ試してみてください。

本記事は以上です。 みなさん、よき開発ライフを!
そして、よきクリスマスを……🎄