機械翻訳について

ポーリング・トリガーとは

外部アプリケーションにイベント・システムがない場合は、ポーリング・トリガーを使用できます。 このような場合、外部アプリケーションは、データを取得できるAPIコールを提供します。

ポーリング・トリガーを使用すると、Oracle IntegrationはAPIコールを使用して外部アプリケーションに定期的に新しいデータを問い合せます。 新しいデータがある場合は、統合フローによって取得および処理されます。

異なるスキームを使用して、新しいデータをポーリングできます。 次に、いくつかの例を示します:

  • 作成日: 特定の日に作成されたレコードを問い合せます。
  • 作成時間: 特定の時間間隔内に作成されたレコードを問い合せます。
  • 連番: システム内で一意のIDを使用してレコードを問い合せます。

ノート:

このトリガー・タイプでは、Oracle Integrationはデータの問合せをアクティブにし、新しいデータを比較して重複を回避してから処理します。 比較のために、Oracle Integrationは前の問合せのデータを格納します。 格納されるデータは、通常、「プロパティのバッグ」と呼ばれます。 これらのプロパティの使用方法の詳細は、「サポートされているカスタムCNCFサーバーレス・ワークフロー」の関数connectivity::getPersistentStateおよびconnectivity::setPersistentStateを参照してください。

サポート対象

Oracle Integrationは、ポーリング・トリガーで次のポーリング機能をサポートします:

  • クラウドでのシングルトン・ポーリング(アクティブ化ごとに1つのポーラー・スレッド)
  • 確認または成功ポーリング処理
  • エージェント・ポーリング
  • ポーリング・イベント間の状態永続性
  • エージェント上のポーリング・イベント間での非高可用性状態永続性

ポーリング・トリガーの定義

ポーリング・トリガーのアダプタ定義ドキュメントのtriggersセクションには、次のプロパティがあります:

  • typeプロパティ: トリガー・タイプを指定します。 pollingに設定します。
  • executeプロパティ: ポーリング・メソッドとターゲットを指定します。 各ポーリングで実行されます。
  • 次のプロパティを持つpollingオブジェクト。これは、ポーリング・トリガーに固有です:
    • onInit: 初期化フローを指定します。 アクティブ化時に1回実行されます。
    • onSuccess: mcubeでのポーリング・データの正常な公開時に実行されるフローを指定します。 投票ごとに1回実行されます。
    • pollFrequencyInSeconds: ポーリングの頻度を指定します。 デフォルト値は10秒です。

ノート:

  • connectionセクションの変更は必要ありません。 ターゲット・アプリケーションに接続するために指定した詳細が、ポーリング・トリガーにも使用されます。
  • セキュリティ構成の場合、トリガー・ロールで定義したポリシーがポーリング・コールに適用されます。 非httpプロトコル・コールでは、非変更ポリシー・スキーマが使用されます。 プロトコル・ハンドラに非管理ポリシーを実装する必要があります。

サンプル・コード

 "pollingTypeTrigger": {
     "displayName": "Polling Type Trigger",
     "description": "This trigger Polls.",
     "type": "polling",
     "execute":"flow:execute",
     "request": {
       "schemaType": "application/schema+json",
       "schema": {
         "$ref": "#/schemas/staticInput"
       }
     },
     "polling": {
       "onInit":"flow:init",
       "onSuccess":"flow:ack",
       "pollFrequencyInSeconds": 3
     }
   },
   "pollingTypeTriggerParallel": {
     "displayName": "Polling Type Trigger parallel",
     "description": "This trigger Polls.",
     "type": "polling",
     "execute":"flow:execute",
     "request": {
       "schemaType": "application/schema+json",
       "schema": {
         "$ref": "#/schemas/staticInput"
       }
     },
     "polling": {
       "onInit":"flow:init",
       "onSuccess":"flow:ack",
       "pollFrequencyInSeconds": 3
     }
   },
   "pollingTypeTriggerCloudParallel": {
     "displayName": "Polling Type Trigger parallel",
     "description": "This trigger Polls.",
     "type": "polling",
     "execute":"flow:execute",
     "request": {
       "schemaType": "application/schema+json",
       "schema": {
         "$ref": "#/schemas/staticInput"
       }
     },
     "polling": {
       "onInit":"flow:init",
       "onSuccess":"flow:ack",
       "pollFrequencyInSeconds": 3
     }
   }