An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
Hi @Nithya Chandran ,
Thank you for reaching out to the Microsoft Q&A forum.
This looks like a timing issue between Synapse Link and Snowpipe.
Synapse Link first creates model.json with 0 bytes. This triggers the Blob event, and Snowpipe starts processing it immediately. Later, Synapse Link writes the actual content to the same file. Since Snowpipe has already processed that file, it may not process the updated file again.
Recommended solution:
Do not trigger Snowpipe directly when model.json is initially created.
Instead, use a file readiness check:
- Wait until
model.jsonhas content. - Confirm the required partition/data files are available.
- Then trigger Snowpipe.
A better approach is to create a separate marker file after Synapse Link finishes, for example:
model.json
model.json.ready
Trigger Snowpipe only after model.json.ready is created.
This ensures Snowpipe processes the data only after the Synapse Link output is completely available and avoids losing data because of the initial 0-byte model.json.
You can also check COPY_HISTORY and SYSTEM$PIPE_STATUS to confirm whether Snowpipe processed the file before it was populated.