OCI Functionsを使用した長時間実行関数およびレスポンス宛先の概要 (2025/11/01)

OCI Functionsを使用した長時間実行関数およびレスポンス宛先の概要 (2025/11/01)

https://blogs.oracle.com/cloud-infrastructure/post/longrunning-functions-and-response-destinations

投稿者:Winston Lin | Principal Product Manager

OCI Functionsで 2 つの強力な新機能が一般提供されるようになりました 。 

  • 長時間実行ファンクション- 分離モードで最大 60 分間実行
  • レスポンスの送信先- 成功と失敗の結果を自動的にキャプチャし、ストリーミング、キュー、または通知に送信します。

これらの機能により、OCI上のサーバーレスワークロードにおける長年の制限が解消され、新たな自動化パターン、データパイプライン、そして統合シナリオが実現します。開発者は、ポーリング、cronジョブ、カスタムオーケストレーションを必要とせずに、長時間タスクを処理し、イベントドリブンワークフローを構築できるようになります。結果は下流に簡単にルーティングできるため、クリーンでスケーラブルな自動化を実現します。

長時間実行ファンクション: 5分を超える

これまで、OCI Functions は最大 5 分間の実行をサポートしていました。これは軽量な自動化には最適ですが、高負荷のワークロードには限界がありました。Long-Running Functions では、detachedModeTimeoutInSeconds フィールドを最大 60 分(3600 秒)に設定し、ファンクションをデタッチドモードで呼び出すことで、実行時間を 1 時間まで延長できるようになりました。これにより、複雑なジョブを複数の呼び出しチェーンに再設計することなく、サーバーレス インフラストラクチャにオフロードできます。

ユースケース

  • AI/ML 推論または準備- 大規模なモデル スコアリングまたはデータ準備タスクを、小さなチャンクに分割せずに実行します。
  • ファイル処理と ETL - 変換、圧縮、または複数ステップのデータ取り込みパイプラインを処理します。
  • バッチ ジョブとビジネス ロジック- スケジュールされた調整、財務計算、コンプライアンス レポートを実行します。
  • サードパーティの統合- 数秒で完了しない長い API 呼び出しやワークフローを調整します。

これらは引き続き OCI Functions上で実行されるため、インフラストラクチャ管理が不要、自動スケーリング、従量課金制といったサーバーレスの利点を維持できます。

*長時間実行ファンクションは分離呼び出しが必要です。同期呼び出しと分離呼び出しの種類について詳しくは、こちらをご覧ください。

レスポンス先:常に結果を把握する

長時間タスクや非同期タスクを実行すると、ファンクションの終了後に何が起こったかを把握することが難しくなります。そこで、レスポンス宛先が役立ちます。レスポンス宛先は、ファンクション呼び出しの結果を自動的に別のOCIサービスに送信します。ファンクションが正常に完了した場合は、次のステップをトリガーしたり、結果マーカーを保存したり、下流のシステムに通知したりできます。ファンクションが失敗した場合は、ステータスコード、エラーコード、メッセージなどのエラーの詳細が返されるため、問題のログ記録、チームへのアラート送信、再試行の調整が容易になります。

成功と失敗の宛先を個別に設定でき、StreamingQueueNotificationsのいずれかにルーティングできます。これにより、手動チェックや外部オーケストレーションを必要とせずに、関数の結果をパイプラインやアラートシステムに直接接続することが容易になります。

はじめに: 長時間実行ファンクション 

ファンクションを 5 分を超えて実行できるようにするには、ファンクションを作成または更新するときに detachedModeTimeoutInSeconds フィールドを設定します。

コンソールの例

  • OCI コンソールでFunctionsサービスを開きます。
  • アプリケーションを選択し、「関数の作成」をクリックします(または既存の関数を編集します)。
  • 「分離呼び出しタイムアウト (秒単位)」をクリックし、希望する値 (最大 3600 秒) を入力します。

CLIの例


クリップボードにコピーされました
エラー: コピーできませんでした
クリップボードにコピーされました
エラー: コピーできませんでした
oci fn function create \
  --application-id <app_ocid> \
  --display-name "long-fn" \
  --image "<image>" \
  --memory-in-mbs 256 \
  --detached-mode-timeout-in-seconds 1800
#Detached mode is required for long-running execution. Sync invocations will continue to use the default timeout.

はじめに: 成功/失敗のレスポンスの送信先を設定する

関数の終了時にそのステータスを自動的に受信する宛先を構成することもできます。

コンソールの例

  1. OCI コンソールでFunctionsサービスを開きます。
  2. アプリケーションを選択し、  「関数の作成」をクリックします(または既存の関数を編集します)。
  3. サポートされている宛先を表示するには、成功宛先または失敗宛先 フィールドを選択します。
  4. ストリーミングキュー通知などのサポートされているサービスから送信先を選択します 。 

CLIの例

宛先を記述する小さな JSON ファイルを作成します。

success-dest.json 


クリップボードにコピーされました
エラー: コピーできませんでした
クリップボードにコピーされました
エラー: コピーできませんでした
{"kind":"NOTIFICATION","topicId":"<topic_OCID>"}

failure-dest.json


クリップボードにコピーされました
エラー: コピーできませんでした
クリップボードにコピーされました
エラー: コピーできませんでした
{"kind":"QUEUE","queueId":"<queue_OCID>","channelId":"failure-channel"}

CLIの作成


クリップボードにコピーされました
エラー: コピーできませんでした
クリップボードにコピーされました
エラー: コピーできませんでした
oci fn function create \
  --application-id <app_ocid> \
  --display-name "long-fn-with-dest" \
  --image "<image>" \
  --memory-in-mbs 256 \
  --detached-mode-timeout-in-seconds 1200 \
  --success-destination file://success-dest.json \
  --failure-destination file://failure-dest.json

今すぐお試しください

長期実行ファンクションとレスポンス先は、標準的な実行とサービス利用に加えて、すべての商用OCIリージョンで追加料金なしでご利用いただけるようになりました。これらの機能により、複雑なジョブを再設計することなく実行できるようになり、ポーリングやカスタムコードのオーバーヘッドなしに非同期実行の可視性を確保できます。今すぐOCI Functionsを使い始めて、これらの新機能が、より応答性の高いイベントドリブンなワークフローの構築にどのように役立つかをご確認ください。

詳細については、次のリソースを参照してください。 

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

ミリ秒の問題: BCCグループとOCIが市場データ・パフォーマンスを再定義する方法(AWSに対するベンチマークを使用) (2025/11/13)

OCIサービスを利用したWebサイトの作成 その4~Identity Cloud Serviceでサイトの一部を保護 (2021/12/30)