Reviewed by Aditya Kumar Β· Last reviewed 2026-08-08
In Azure Data Factory (ADF), you can copy all files from a source path to a target using primarily two methods: a single Copy Data activity with wildcards, or a combination of GetMetadata, ForEach,β¦
This easy-level Cloud/Tools question appears frequently in data engineering interviews at companies like Hexaware. While less common, it tests deeper understanding that distinguishes strong candidates.
Start by clearly defining the core concept being asked about. Interviewers want to see that you understand the fundamentals before diving into implementation details. Structure your answer with a definition, then explain the practical application with a concise example. The expert answer includes a code example that demonstrates the implementation pattern.
In Azure Data Factory (ADF), you can copy all files from a source path to a target using primarily two methods: a single Copy Data activity with wildcards, or a combination of GetMetadata, ForEach, and Copy Data activities.
This is the most straightforward and performant method for bulk file transfers. You configure a single Copy Data activity where the source dataset's file path or folder path includes a wildcard character (e.g., *). ADF efficiently handles the enumeration and copying of all matching files within that path.
# Example Source Dataset Path
data/raw/source_folder/*
This approach is ideal for "lift and shift" scenarios, archiving, or replicating entire directories where no per-file specific logic is required. ADF optimizes the transfer, often leveraging parallel processing internally for better throughput.
This method provides granular control over individual files. First, a GetMetadata activity is used to retrieve a list of child items (files and subfolders) from the source folder. Then, a ForEach activity iterates through this list. Inside the ForEach loop, a Copy Data activity copies each file, using dynamic content like @item().name or @item().fullName to specify the current file's path.
This pattern is necessary when you need to apply specific logic to each file, such as filtering files based on their name or size, conditionally processing them, or performing transformations before copying. While offering flexibility, it introduces overhead due to the iterative nature, potentially making it slower for a very large number of files compared to the wildcard approach.
In the interview, also mention: Discuss how error handling (e.g., on failure paths) and logging would be implemented for each method, especially for large-scale operations.
Red Flag: Sequential copy when wildcard would work. Pro-Move: 'We use wildcard for bulk; GetMetadata+ForEach when we need to skip or transform per file.'
Some links below are affiliate links. If you buy through them we may earn a small commission at no extra cost to you β it helps keep DataEngPrep free.
According to DataEngPrep.tech, this is one of the most frequently asked Cloud/Tools interview questions, reported at 1 company. DataEngPrep.tech maintains an editor-reviewed database of 1,863 data engineering interview questions across 7 categories.