一時停止コネクタ¶
ウィザード終了後、コネクタを一時停止できます。 Finalize Configuration
ステップの後に実行できます。このステップにより、ユーザーはコネクタの起動後にそのステータスを操作できるようになります。このフェーズのエントリポイントは、 PUBLIC.PAUSE_CONNECTOR()
と呼ばれるプロシージャです。SQL で置き換えるか、 PauseConnectorHandlerBuilder
を使用してカスタマイズできます。コネクタを一時停止してユーザーが再起動できるようにする逆のプロセスは コネクタを再開 です。
このプロシージャを呼び出すには、ユーザーに ADMIN
アプリケーションロールが割り当てられている必要があります。
一時停止コネクタステップは、内部的には複数のフェーズで構成されます。一部は完全にカスタマイズ可能で、デフォルトでは何も実行されません。フェーズは次のとおりです。
権限の検証
ステータスの検証
状態の検証
ステータス更新(PAUSING)
内部コールバック
タスクリアクターの一時停止(タスクリアクターが有効な場合)
ステータス更新(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"
}
状態遷移の全体図については、 コネクタフロー をご参照ください。
応答¶
正常な応答¶
プロシージャがバックグラウンドですべてのタスクを正常に一時停止し、ステータス PAUSED を変更すると、 PauseConnectorHandler
メソッド本体から Connector successfully paused.
メッセージが直接返されます。次の形式を使用することをお勧めします。
{ "response_code": "OK" }
エラーの応答¶
エラーが発生した場合、応答は以下の形式になります。
{ "response_code": "<ERROR_CODE>", "message": "error message" }
考えられるエラーコードは次のとおりです。
INVALID_CONNECTOR_STATUS
-[STARTED, PAUSING]
とは異なる状態のコネクタでこのプロシージャが呼び出されました。CONNECTOR_STATUS_NOT_FOUND
- コネクタステータス記録がデータベースに存在しません(このステージではユーザーの入力とは無関係 - 内部エラー)ROLLBACK_CODE
- エラーが発生しましたが、変更は正常に元に戻されました。INTERNAL_ERROR
- 内部で問題が発生しました。メッセージには説明が必要ですUNKNOWN_ERROR_CODE
- 不明なエラーが発生したため、コネクタは現在指定されていない状態です