最終構成リファレンス

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

次のデータベースオブジェクトは、ファイル 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