COF-C03 Data Loading, Unloading, and Connectivity Practice Question
A data engineer is configuring Snowpipe to automatically ingest files as they arrive in an external S3 stage. They must ensure the pipe loads only files matching a specific path prefix and that duplicate notifications for the same file do not cause duplicate rows. Which two configurations should they apply? (Choose two.)
⚠ Common exam trap
The trap here is trusting S3 event notifications to deliver exactly once, when duplicate deliveries are possible and deduplication must come from Snowflake.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Define the pipe with a COPY INTO statement that includes a PATTERN option matching the desired path prefix.
Filtering by path is achieved with the PATTERN option in the pipe's COPY statement, which restricts ingestion to matching files. Duplicate prevention comes from Snowpipe's load metadata, which records each loaded file by name and checksum and skips repeats even if notifications are delivered multiple times. Together these two settings satisfy both the prefix restriction and the deduplication requirement.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Rely on the S3 event notification configuration to prevent duplicate notifications from being sent.
Why it's wrong here
S3 event notifications can be delivered more than once, and the notification layer cannot guarantee exactly-once delivery. Relying on it to prevent duplicates is unsafe because a retried or duplicated event would trigger the pipe again. Duplicate protection must come from Snowflake's load metadata rather than from the notification source, so this option does not meet the requirement.
- ✓
Define the pipe with a COPY INTO statement that includes a PATTERN option matching the desired path prefix.
Why this is correct
The PATTERN option in the COPY statement filters which staged files the pipe ingests by applying a regular expression to the file path. This restricts ingestion to files under the desired prefix, satisfying the requirement to load only matching files. Without it, the pipe would attempt to load every file delivered by the notification, which is broader than intended.
- ✗
Set the pipe parameter FORCE = TRUE so that every notification reloads the file.
Why it's wrong here
FORCE = TRUE instructs COPY to reload files even if they were loaded before, which is the opposite of what is needed. Enabling it would cause duplicate rows on every repeated notification. There is also no pipe-level parameter named FORCE; it is a COPY option. This option directly conflicts with the requirement to avoid duplicate rows.
- ✗
Configure the pipe with AUTO_INGEST = TRUE and a notification channel, and set ON_ERROR = 'CONTINUE'.
Why it's wrong here
AUTO_INGEST and the notification channel are necessary for event-driven triggering, but ON_ERROR = 'CONTINUE' only controls how row-level errors are handled during a load. It does not filter files by path prefix and does not prevent duplicates. This option addresses error handling rather than the two stated requirements, so it is not part of the correct configuration.
- ✓
Ensure the pipe uses the default load metadata tracking so that already-loaded files are skipped on subsequent notifications.
Why this is correct
Snowpipe records load history in metadata for each pipe, keyed by file name and checksum. When a duplicate notification arrives for a file already loaded, the pipe recognizes it and skips the file, preventing duplicate rows. This built-in deduplication is what actually satisfies the no-duplicate-rows requirement, independent of how many notifications are delivered.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
About these practice questions
One of 280 original COF-C03 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Snowflake exam blueprint
This COF-C03 practice question is part of Courseiva's free Snowflake certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the COF-C03 exam.