Create resource reference¶
Database objects and procedures¶
The following database objects are created when the file ingestion/resource_management.sql is executed.
PUBLIC.CREATE_ RESOURCE(name VARCHAR,resource_ id VARIANT,ingestion_ configurations VARIANT,id VARCHAR,enabled BOOLEAN,resource_ metadata VARIANT)¶
Entry point procedure available to the ADMIN role. This procedure invokes the Java function CreateResourceHandler.createResource.
PUBLIC.CREATE_ RESOURCE_ VALIDATE(resource VARIANT)¶
Procedure used for connector specific validation of create process. By default, it returns 'response_code': 'OK'.
It is invoked by DefaultCreateResourceValidator. Can be overwritten both in SQL and Java.
PUBLIC.PRE_ CREATE_ RESOURCE(resource VARIANT)¶
Procedure used for adding connector specific logic which is invoked before a resource is created.
By default, it returns 'response_code': 'OK'.
It is invoked by DefaultPreCreateResourceCallback. Can be overwritten both in SQL and Java.
PUBLIC.POST_ CREATE_ RESOURCE(resource_ ingestion_ definition_ id VARCHAR)¶
Procedure used for adding connector specific logic which is invoked after a resource is created and scheduled.
By default, it returns 'response_code': 'OK'.
It is invoked by DefaultPostCreateResourceCallback. Can be overwritten both in SQL and Java.
Related Java objects¶
The following Java objects from the com.snowflake.connectors.application.ingestion.create package and some common components are tightly connected with the above procedures:
CreateResourceHandlerCreateResourceHandlerBuilderCreateResourceValidatorPreCreateResourceCallbackPostCreateResourceCallbackConnectorErrorHelper
Custom handler¶
The handler and its internals can be customized using the following approaches.
Procedure replacement approach¶
The following components can be replaced using SQL.
Handler¶
To provide whole custom implementation of CreateResourceHandler, the PUBLIC.CREATE_RESOURCE procedure must be replaced. For example:
Internal procedures¶
Internal procedures CREATE_RESOURCE_VALIDATE, PRE_CREATE_RESOURCE and POST_CREATE_RESOURCE can be also customized through the SQL. They can also invoke another Java handler:
Builder approach¶
CreateResourceHandler can be customized using CreateResourceHandlerBuilder. This builder allows user to provide custom implementations of the following interfaces:
CreateResourceValidatorPreCreateResourceCallbackPostCreateResourceCallbackConnectorErrorHelper
In case a function is not provided the default implementation provided by the SDK will be used.