最終構成¶
構成のファイナライズはウィザードの最後のステップであり、 connection configuration の直後に実行されます。このステップでは、ユーザーは、構成の前ステップで含まれていなかったカスタム構成を提供できます。さらに、シンクデータベースの作成、タスクリアクターの起動など、構成に関する最終的な仕上げを実行するためにも使用できます。このフェーズのエントリポイントは、 PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION(CUSTOM_CONFIGURATION VARIANT) と呼ばれるプロシージャです。SQL で置き換えるか、 FinalizeConnectorHandlerBuilder を使用してカスタマイズできます。デフォルトでは、提供された custom_configuration はデータベースに保存されないため、設計で必要な場合は、構成を拡張メソッドの1つ(おそらく FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL)に保存する必要があります。
このプロシージャを呼び出すには、ユーザーに ADMIN アプリケーションロールが割り当てられている必要があります。
構成ステップのファイナライズは、内部的には複数のフェーズで構成されます。一部は完全にカスタマイズ可能で、デフォルトでは何も実行されません。フェーズは次のとおりです。
ステータスの検証
入力の検証
ソース検証
内部コールバック
ステータスの更新
要件¶
構成のファイナライズでは、ネイティブアプリのインストール中に少なくとも次のSQLファイルを実行する必要があります。
core.sqlconfiguration/finalize_configuration.sql推奨:
configuration/app_config.sql
ステータスの検証¶
コネクタのファイナライズを実行するには、コネクタの内部ステータスが CONFIGURING で、構成ステータスが CONNECTED である必要があります。
FinalizeConnectorHandlerBuilder を使用しても、ストアドプロシージャを上書きしても、この検証は上書きされません。ただし、この種の検証を実行しないカスタムハンドラーを実装することはできます。
入力の検証¶
入力は有効な Variant である必要があります。さらに、満たす必要のあるカスタム検証があります。1つのストアドプロシージャ、 PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_VALIDATE(CUSTOM_CONFIGURATION VARIANT) は、ユーザーがカスタマイズできます。デフォルトでは、このプロシージャは単に 'response_code': 'OK' を返します。カスタマイズするには、 SQL を上書きするか、 FinalizeConnectorHandlerBuilder を使用し、 FinalizeConnectorValidator インターフェイスのカスタム実装を提供します。
ソース検証¶
検証に合格すると、プロシージャ PUBLIC.VALIDATE_SOURCE(CUSTOM_CONFIGURATION VARIANT) は外部ソースに接続します。場合によっては、このプロシージャは、接続構成中に実行された TEST_CONNECTION プロシージャと同じになることがあります。ただし、 TEST_CONNECTION は基本的な接続性をチェックするだけを目的として設計されているのに対し、 VALIDATE_SOURCE は追加の構成が必要になる可能性があるプロシージャです。たとえば、ソースシステム内の特定のリソースに対する権限を確認します。 VALIDATE_SOURCE のデフォルトの実装は 'response_code': 'OK' を返します。このデフォルトの実装は、 SQL で上書きするか、 FinalizeConnectorHandlerBuilder を使用して SourceValidator インターフェイスを実装することで上書きできます。
内部コールバック¶
内部コールバックは、 PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL(CUSTOM_CONFIGURATION VARIANT) を呼び出すカスタマイズ可能なステップであり、デフォルトでは 'response_code': 'OK' を返します。このプロシージャにより、ユーザーはコネクタに必要な追加の構成を実行できます。たとえば、提供された custom_configuration を STATE.CONNECTOR_CONFIGURATION テーブルに保存します。SQL スクリプトを通じて上書きすることも、 FinalizeConnectorHandlerBuilder を使用して FinalizeConnectorCallback インターフェイスのカスタム実装を提供することもできます。
ステータスの更新¶
上記のすべてのフェーズが正常に完了すると、コネクタの内部ステータスが次のように更新されます。
{
"status": "STARTED",
"configurationStatus": "FINALIZED"
}
状態遷移の全体図については、 コネクタフロー をご参照ください。
応答¶
正常な応答¶
プロシージャが正常に終了すると、 FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL プロシージャからの応答が返されます。次の形式を使用することをお勧めします。
{ "response_code": "OK" }
エラーの応答¶
エラーが発生した場合、応答は以下の形式になります。
{ "response_code": "<ERROR_CODE>", "message": "<error message>" }
考えられるエラーコード:
INVALID_CONNECTOR_STATUS- すでに構成されているコネクタでプロシージャが呼び出されましたINVALID_CONNECTOR_CONFIGURATION_STATUS-CONFIGURATION_STATUSがCONNECTEDと異なる場合にプロシージャが呼び出されましたCONNECTOR_STATUS_NOT_FOUND- コネクタステータス記録がデータベースに存在しません(このステージではユーザーの入力とは無関係 - 内部エラー)INTERNAL_ERROR- 内部で問題が発生しました。メッセージには説明が必要です