Skip to main content
This legacy path uses Kadoa cloud-storage exports plus a Snowpipe pipeline in your Snowflake account. Use this when you want to own the target tables, stages, pipes, and schema evolution yourself. For Kadoa-managed native secure sharing, see Snowflake Integration.

Setup Steps

1. Request Cloud Storage Delivery

Submit a request through the Support Center to configure a cloud-storage connector for Snowflake ingestion.
Kadoa will create or configure the export bucket and provide the role ARN, bucket name, and path details needed for the next steps.

2. Create A Storage Integration

Using the role ARN and bucket name from Kadoa, create a storage integration in your Snowflake account:
use role accountadmin;

create storage integration kadoa_s3_integration
  type = external_stage
  storage_provider = 's3'
  enabled = true
  storage_aws_role_arn = '<ROLE_ARN_FROM_KADOA>'
  storage_allowed_locations = ('s3://<BUCKET_NAME_FROM_KADOA>/');

grant usage on integration kadoa_s3_integration to role sysadmin;
Send Kadoa the generated IAM user ARN and external ID:
desc integration kadoa_s3_integration;

3. Create A Stage

use role sysadmin;

create or replace stage kadoa_s3_stage
  storage_integration = kadoa_s3_integration
  url = 's3://<BUCKET_NAME_FROM_KADOA>/'
  directory = (enable = true);

create or replace file format parquet_format type = 'parquet';

4. Create A Target Table

create or replace table my_data
  using template (
    select array_agg(object_construct(*))
      within group (order by order_id)
    from table(
      infer_schema(
        location => '@kadoa_s3_stage/your-workflow-path/',
        file_format => 'parquet_format'
      )
    )
  );

5. Set Up Snowpipe

create or replace pipe my_data_pipe
  auto_ingest = true
  as copy into my_data
  from @kadoa_s3_stage/your-workflow-path/
  file_format = (format_name = 'parquet_format')
  match_by_column_name = case_insensitive;
Send Kadoa the notification_channel value from:
desc pipe my_data_pipe;

6. Trigger Initial Load

alter pipe my_data_pipe refresh;
New Kadoa files will be loaded by your Snowpipe setup after Kadoa configures the S3 event notification.