最終構成リファレンス

データベースオブジェクトとプロシージャ

次のデータベースオブジェクトは、ファイル configuration/finalize_configuration.sql を通して作成されます。

PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION (CUSTOM_CONFIGURATION VARIANT)

ADMIN ロールで使用可能なエントリポイントプロシージャ。このプロシージャは、Java関数 FinalizeConnectorHandler.finalizeConnectorConfiguration を呼び出します。

PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_VALIDATE (CUSTOM_CONFIGURATION VARIANT)

カスタム構成のコネクタ固有の検証に使用されるプロシージャ。デフォルトでは 'response_code': 'OK' を返します。これは DefaultFinalizeConnectorValidator によって呼び出されます。SQL でもJavaでも上書きできます。

PUBLIC.VALIDATE_SOURCE (CUSTOM_CONFIGURATION VARIANT)

コネクタ固有の追加構成を使用してソースシステムへの接続を確認するプロシージャ。 TEST_CONNECTION プロシージャと同じ場合もありますが、より詳細な方法でチェックを実行する場合もあります。デフォルトでは 'response_code': 'OK' を返します。これは InternalSourceValidator によって呼び出されます。

PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL (CUSTOM_CONFIGURATION VARIANT)

追加のカスタム構成を実行するために使用されるプロシージャ。デフォルトでは 'response_code': 'OK' を返します。これは InternalFinalizeConnectorCallback によって呼び出されます。SQL でもJavaでも上書きできます。

カスタムハンドラー

ハンドラーとその内部は、次の2つの方法を使用してカスタマイズできます。

プロシージャの代替アプローチ

以下のコンポーネントは SQL を使用して置き換えることができます。

ハンドラー

FinalizeConnectorHandler の全体的なカスタム実装を提供するには、 PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION プロシージャを置き換える必要があります。例:

CREATE OR REPLACE PROCEDURE PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION(CUSTOM_CONFIGURATION VARIANT)
RETURNS VARIANT
LANGUAGE JAVA
RUNTIME_VERSION = '11'
PACKAGES = ('com.snowflake:snowpark:1.11.0')
IMPORTS = ('/connectors-native-sdk.jar')
HANDLER = 'com.custom.handler.CustomFinalizeConnectorHandler.finalizeConnectorConfiguration';

GRANT USAGE ON PROCEDURE PUBLIC.CONFIGURE_CONNECTOR(VARIANT) TO APPLICATION ROLE ADMIN;
Copy

内部プロシージャ

内部の VALIDATEINTERNALVALIDATE_SOURCE プロシージャは、 SQL を通してカスタマイズすることもできます。別のJavaハンドラーを呼び出すこともできます。

CREATE OR REPLACE PROCEDURE PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_INTERNAL(config VARIANT)
RETURNS VARIANT
LANGUAGE SQL
EXECUTE AS OWNER
AS
BEGIN
    -- SOME CUSTOM LOGIC BEGIN
    SELECT sysdate();
    -- SOME CUSTOM LOGIC END

    RETURN OBJECT_CONSTRUCT('response_code', 'OK');
END;

CREATE OR REPLACE PROCEDURE PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION_VALIDATE (config VARIANT)
RETURNS VARIANT
LANGUAGE JAVA
RUNTIME_VERSION = '11'
PACKAGES = ('com.snowflake:snowpark:1.11.0')
IMPORTS = ('/connectors-native-sdk.jar')
HANDLER = 'com.custom.handler.CustomFinalizeConnectorConfigurationValidateHandler.validate';
Copy

ビルダーアプローチ

FinalizeConnectorHandler は、 FinalizeConnectorHandlerBuilder を使用してカスタマイズできます。このビルダーを使用すると、ユーザーは次のインターフェイスのカスタム実装を提供できます。

  • FinalizeConnectorValidator

  • SourceValidator

  • FinalizeConnectorCallback

  • ConnectorErrorHelper

これらのいずれかが提供されていない場合、 SDK によって提供されるデフォルトの実装が使用されます。

class CustomFinalizeConnectorValidator implements FinalizeConnectorValidator {
    @Override
    public ConnectorResponse validate(Variant config) {
        // CUSTOM LOGIC
        return ConnectorResponse.success();
    }
}

class CustomHandler {

    // Path to this method needs to be specified in the PUBLIC.FINALIZE_CONNECTOR_CONFIGURATION procedure using SQL
    public static Variant finalizeConnector(Session session, Variant configuration) {
            //Using builder
        var handler = FinalizeConnectorHandler.builder(session)
            .withValidator(new CustomFinalizeConnectorValidator())
            .build();
        return handler.finalizeConnector(configuration).toVariant();
    }
}
Copy