Home / Repstance User Guide / 7. COMMANDS TO BE USED / 7.9 Prepare Apply Process / 7.9.5 Prepare Apply Process for Snowflake

7.9.5 Prepare Apply Process for Snowflake

REST API:

  • Endpoint: https://repstance_url/configure/process
  • Method: POST
  • Header:
    • Content-Type: application/json
    • X-Token: token
  • Body:
    {
      "command": "prepare",
      "parameters": [
        ["process","apply"],
        ["id","applyID"],
        ["dbtype","snowflake"],
        ["capturename","captureName"],
        ["account","account"],
        ["region","region"],
        ["warehouse","warehouse"],
        ["user","username"],
        ["password","password"],
        ["dbname","databaseName"],
        ["autostart","{0|1}"],
        ["debuglevel","{0-15}"],
        ["ddlcreate","objectMask:options"],
        ["ddldrop","objectMask:options"],
        ["ddlprocessing","native|dictionary"],
        ["skipapply","skipapplyMask"],
        ["ldtxsize","{0-9999999999}"],
        [“filter”,”filterID,filteringClause”],
        ["transformload","{0|1}"]
      ]
    }

Server response:

  • HTTP Status – status of the command, possible codes are:
    • 200 – if no error occurs
    • 422 – if error occurs
  • Body:
    {
        "Status":"{Failed|Completed}",
        "Message":"The command execution details"
    }

CLI Syntax:

repcli prepare process=apply id=applyIDdbtype=snowflake \
capturename=captureName \
account=account region=region warehouse=warehouse \
user=username password=password \
dbname=databaseNameautostart={0|1} debuglevel={0-15}\
ddlcreate=objectMask:options\
ddldrop=objectMask:options\
ddlprocessing=native|dictionary \
skipapply=skipapplyMask ldtxsize={0-9999999999} \
filter=filterID,filteringClause transformload={0|1}

The input parameters are:

  • process – The only possible value is apply
  • id – The Apply Process identifier
  • dbtype – Type of RDBMS, the only possible value is snowflake
  • capturename – The name of the Capture Process which is providing the data to be used
  • account – Snowflake Account name
  • region – Snowflake Region name
  • warehouse – Warehouse name
  • dbname – Database name
  • user – Database User name
  • password – Database User password
  • autostart – Determines if the Apply Process must be run automatically. Possible values are:
    • 0 – do not run the Apply Process automatically (default value)
    • 1 – to run the Apply Process automatically
  • debuglevel – Level of debugging, possible values are 0-15
  • ddlcreate – Used to define the Apply Process behavior when creating a table, if a table with the same name is found. The table is specified in schema _name.table_name format. In order to specify the list of the tables, each table must be separated by comma. The % symbol may be used in order to match any number of characters. It has the following options:
    • skip – do not run DDL create command if the table already exists
    • recreate – drops the existing table and recreates it
  • ddldrop – Used to define the Apply Process behavior when dropping a table, if a table with the same name is not found. The table is specified in schema _name.table_name format. In order to specify the list of the tables, each table must be separated by comma. The % symbol may be used in order to match any number of characters. It has the following options:
    • skip – do not run DDL drop command if the table doesn’t exist
  • ddlprocessing – Determines if DDL must be processed based on the user statement or generated based on the dictionary changes. The possible values are:
    • native – to process DDL based on the user statement (default value)
    • dictionary – to generate DDL based on the dictionary changes
  • skipapply – Used to define the behavior of the Apply Process when inserting data, which was originally produced by Apply Processes in the Source Database as part of the “loop-back” control function, in that, this Apply Process will insert, or ignore the data. The Apply Processes to be skipped are specified by ids separated by comma. In order to specify all Processes the “all” value to be used. In order to avoid skipping any Apply Processes the “none” value to be used. The default value is “none”.
  • ldtxsize – Determines the number of records to be inserted in one transaction at the Initial Load stage. If the value is 0 (default) the table is loaded in a single transaction.
  • filter – The set of the parameters to determine objects’ filtering (see chapter 7.9.6 Objects Filtering for the details).
  • transformload – Determines if the transformation rules must be applied to the Initial Load. The possible values are:
    • 0 – do not use transformation rules for the Initial Load (default)
    • 1 – use transformation rules for the Initial Load.

How to find “Snowflake Account” and “Snowflake Region” is described in chapter 7.1.7 Prepare Snowflake as Target Database.

Note – "dictionary" value is commonly used in the case of Heterogeneous replication. For Homogeneous type of replication it is recommended to use "native" method of DDL processing.