一時停止コネクタ

ウィザード終了後、コネクタを一時停止できます。 Finalize Configuration ステップの後に実行できます。このステップにより、ユーザーはコネクタの起動後にそのステータスを操作できるようになります。このフェーズのエントリポイントは、 PUBLIC.PAUSE_CONNECTOR() と呼ばれるプロシージャです。SQL で置き換えるか、 PauseConnectorHandlerBuilder を使用してカスタマイズできます。コネクタを一時停止してユーザーが再起動できるようにする逆のプロセスは コネクタを再開 です。

このプロシージャを呼び出すには、ユーザーに ADMIN アプリケーションロールが割り当てられている必要があります。

一時停止コネクタステップは、内部的には複数のフェーズで構成されます。一部は完全にカスタマイズ可能で、デフォルトでは何も実行されません。フェーズは次のとおりです。

  1. 権限の検証

  2. ステータスの検証

  3. 状態の検証

  4. ステータス更新(PAUSING)

  5. 内部コールバック

  6. タスクリアクターの一時停止(タスクリアクターが有効な場合)

  7. ステータス更新(PAUSED)

要件

一時停止コネクタでは、ネイティブアプリのインストール中に少なくとも次の SQL ファイルを実行する必要があります。

  • core.sql

  • configuration/app_config.sql

  • lifecycle/pause.sql

  • 推奨: configuration/finalize_configuration.sql

権限の検証

コネクタを一時停止するには、アプリケーションに EXECUTE TASK 権限を付与する必要があります。

この検証は、 PauseConnectorHandlerBuilder を使用しても、ストアドプロシージャを上書きしても上書きできません。ただし、カスタムハンドラーを実装することはできます。

ステータスの検証

コネクタを一時停止するには、コネクタの内部ステータスを STARTED にする必要があります。

この検証は、 PauseConnectorHandlerBuilder を使用しても、ストアドプロシージャを上書きしても上書きできません。ただし、カスタムハンドラーを実装することはできます。

状態の検証

さらにカスタム検証が必要な場合は、ユーザーがカスタマイズできる PUBLIC.PAUSE_CONNECTOR_VALIDATE() ストアドプロシージャが用意されています。デフォルトでは、このプロシージャは単に 'response_code': 'OK' を返します。このプロシージャは、 SQL を使用して上書きするか、 PauseConnectorHandlerBuilder を使用して、 PauseConnectorStateValidator インターフェイスのカスタム実装を提供することでカスタマイズできます。

内部コールバック

内部コールバックは、もう1つのカスタマイズ可能なステップです。デフォルトでは、 PUBLIC.PAUSE_CONNECTOR_INTERNAL() を呼び出し、 'response_code': 'OK' を返します。このプロシージャにより、ユーザーはコネクタを一時停止するときに必要な追加のタスクを実行できます。たとえば、追加のコネクタ固有のタスクを一時停止します。SQL スクリプトを通じて上書きすることも、 PauseConnectorHandlerBuilder を使用して PauseConnectorCallback インターフェイスのカスタム実装を提供することもできます。

ステータスの更新

上記のすべてのフェーズが正常に完了すると、コネクタの内部ステータスが次のように更新されます。

{
    "status": "PAUSED",
    "configurationStatus": "FINALIZED"
}
Copy

状態遷移の全体図については、 コネクタフロー をご参照ください。

応答

正常な応答

プロシージャがバックグラウンドですべてのタスクを正常に一時停止し、ステータス PAUSED を変更すると、 PauseConnectorHandler メソッド本体から Connector successfully paused. メッセージが直接返されます。次の形式を使用することをお勧めします。

{
  "response_code": "OK"
}
Copy

エラーの応答

エラーが発生した場合、応答は以下の形式になります。

{
  "response_code": "<ERROR_CODE>",
  "message": "error message"
}
Copy

考えられるエラーコードは次のとおりです。

  • INVALID_CONNECTOR_STATUS - [STARTED, PAUSING] とは異なる状態のコネクタでこのプロシージャが呼び出されました。

  • CONNECTOR_STATUS_NOT_FOUND - コネクタステータス記録がデータベースに存在しません(このステージではユーザーの入力とは無関係 - 内部エラー)

  • ROLLBACK_CODE - エラーが発生しましたが、変更は正常に元に戻されました。

  • INTERNAL_ERROR - 内部で問題が発生しました。メッセージには説明が必要です

  • UNKNOWN_ERROR_CODE - 不明なエラーが発生したため、コネクタは現在指定されていない状態です