接続構成の更新リファレンス¶
データベースオブジェクトとプロシージャ¶
次のデータベースオブジェクトは configuration/update_connection_configuration.sql
を通じて作成されます
PUBLIC.UPDATE_CONNECTION_CONFIGURATION( connection_configuration VARIANT)¶
ADMIN
ロールで使用可能なエントリポイントプロシージャ。このプロシージャはJavaの UpdateConnectionConfigurationHandler.updateConnectionConfiguration
ハンドラーを呼び出します。
PUBLIC.UPDATE_CONNECTION_CONFIGURATION_VALIDATE( connection_configuration VARIANT)¶
追加のコネクタ固有の検証ロジックを提供するために使用されるプロシージャ。デフォルトでは 'response_code': 'OK'
を返します。デフォルトの ConnectionConfigurationInputValidator
によって呼び出されます。SQL でもJavaでも上書きできます。
PUBLIC.DRAFT_CONNECTION_CONFIGURATION_INTERNAL( connection_configuration VARIANT)¶
追加のコネクタ固有のロジックを提供するために使用されるプロシージャ。デフォルトでは 'response_code': 'OK'
を返します。デフォルトの ConnectionConfigurationCallback
によって呼び出されます。SQL でもJavaでも上書きできます。
カスタムハンドラー¶
ハンドラーとその内部は以下の2つのアプローチを使用してカスタマイズできます。
プロシージャの代替アプローチ¶
以下のコンポーネントは SQL を使用して置き換えることができます。
ハンドラー¶
UpdateConnectionConfigurationHandler
のカスタム実装を提供するには、 PUBLIC.UPDATE_CONNECTION_CONFIGURATION
プロシージャを置き換える必要があります。例:
CREATE OR REPLACE PROCEDURE PUBLIC.UPDATE_CONNECTION_CONFIGURATION(connection_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.CustomUpdateConnectionConfigurationHandler.updateConnectionConfiguration';
GRANT USAGE ON PROCEDURE PUBLIC.UPDATE_CONNECTION_CONFIGURATION(VARIANT) TO APPLICATION ROLE ADMIN;
内部プロシージャ¶
VALIDATE
および INTERNAL
のプロシージャは、 SQL を使用してカスタマイズすることもできます。別のJavaハンドラーを呼び出すこともできます。
CREATE OR REPLACE PROCEDURE PUBLIC.DRAFT_CONNECTION_CONFIGURATION_INTERNAL(connection_configuration 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.UPDATE_CONNECTION_CONFIGURATION_VALIDATE(connection_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.CustomConnectionConfigurationInputValidator.validate';
ビルダーアプローチ¶
UpdateConnectionConfigurationHandler
は、 UpdateConnectionConfigurationHandlerBuilder
を使用してカスタマイズできます。このビルダーを使用すると、開発者は次のインターフェイスのカスタム実装を提供できます。
ConnectionConfigurationInputValidator
ConnectionConfigurationCallback
DraftConnectionValidator
ConnectionConfigurationCallback
ConnectionValidator
ConnectorErrorHelper
これらのいずれかが提供されていない場合、 SDK によって提供されるデフォルトの実装が使用されます。
class CustomConnectionConfigurationInputValidator implements ConnectionConfigurationInputValidator {
@Override
public ConnectorResponse validate(Variant configuration) {
// CUSTOM VALIDATION LOGIC
return ConnectorResponse.success();
}
}
class CustomHandler {
// Path to this method needs to be specified in the PUBLIC.UPDATE_CONNECTION_CONFIGURATION procedure using SQL
public static Variant updateConnectionConfiguration(Session session, Variant configuration) {
// Using the builder
var handler = UpdateConnectionConfigurationHandler.builder(session)
.withInputValidator(new CustomConnectionConfigurationInputValidator())
.build();
return handler.updateConnectionConfiguration(configuration).toVariant();
}
}