In order to replicate to a Snowflake database, you will need to add the directive <ensure_table_exists> within the <task> directive. The <ensure_table_exists> directive is self-closing and does not require any attribute values.
Refer to the example agent.xml configuration below for configuration of your DataSync Agent for replication to a Snowflake database:
Example
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <config> <agent> <share/> <subscribe> <task instances="4"> <task_name>OnDemandAgent_subscribe</task_name> <message_connection password="encrypted:vlOtU71yu8N/EFIJH85SSPbQ5/gZDZBSjYcHe6gjfJI=" queue="psp.out.replicator.aws_ondemand_datasync" use_basic_consume="true" user="perspectium.com.1561578334430/oda.ivan.kuo.1561578334430">amqp://nvirginia-ondemanddatasync-trial-rabbit.perspectium.net</message_connection> <handler>com.perspectium.replicator.sql.SQLSubscriber</handler> <decryption_key>Perspectium On-demand DataSync</decryption_key> <database_type>snowflake</database_type> <database_server>NC39170.us-east-1.snowflakecomputing.com</database_server> <database_user>Adminadmin1</database_user> <database_password>Adminadmin1</database_password> <database_parms>warehouse=example_warehouse&schema=example_schema&role=example_role</database_parms> <database>psp_repl</database> <use_cache/> <ensure_table_exists/> </task> </subscribe> <max_reads_per_connect>4000</max_reads_per_connect> <polling_interval>5</polling_interval> <skip_message_set_processing/> </agent> </config>