How would you design an end-to-end data ingestion pipeline to move financial transaction data from an on-premises network to Snowflake?