Ngân hàng đề — Microsoft Azure Data Engineer

Tìm thấy 228 câu.

Câu 201
You are deploying a lake database by using an Azure Synapse database template.

You need to add additional tables to the database. The solution must use the same grouping method as the template tables.

Which grouping method should you use?
  1. A partition style
  2. B business area
  3. C size
  4. D facts and dimensions
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi này tập trung vào việc triển khai một lake database (cơ sở dữ liệu hồ dữ liệu) bằng cách sử dụng Azure Synapse database template trong Azure Synapse Analytics (nay tích hợp chặt chẽ với Microsoft Fabric).

  • Bối cảnh: Khi deploy template này, các bảng (tables) đã có sẵn được tổ chức (grouped) theo một phương pháp cụ thể. Nhiệm vụ là thêm các bảng mới vào database, nhưng phải tuân thủ phương pháp grouping giống hệt như các bảng từ template.
  • Mục tiêu: Xác định grouping method (phương pháp nhóm bảng) mà template sử dụng, để đảm bảo tính nhất quán trong cấu trúc lake database.
  • Liên quan công nghệ: Đây là tính năng của Synapse Lake Databases hoặc Lakehouse trong Microsoft Fabric/Synapse (cập nhật đến 2026, với các template tự động hóa việc tổ chức dữ liệu theo mô hình semantic layer). Grouping giúp quản lý metadata, truy vấn dễ dàng qua SQL endpoints và tích hợp với Power BI.

📘 Tài liệu tham khảo:

✅ Đáp án đúng: business area

  • Lý do chọn: Trong Azure Synapse database templates (và Lakehouse templates của Microsoft Fabric), các bảng được tự động nhóm theo "business area" (khu vực kinh doanh), ví dụ: Sales, HR, Inventory, Finance... Điều này tạo cấu trúc phân cấp semantic (business-oriented), giúp dễ dàng quản lý, khám phá dữ liệu và tích hợp với analytics tools. Khi thêm bảng mới, bạn phải sử dụng cùng grouping method này qua Synapse Studio hoặc Fabric workspace để duy trì tính nhất quán, tránh lỗi metadata và hỗ trợ truy vấn tối ưu.
  • 🛠️ Cách áp dụng thực tế: Trong Synapse Studio > Lake databases > Chọn template > Add table > Chọn "business area" làm grouping key.

📋 Giải thích tất cả các phương án

Dưới đây là phân tích chi tiết từng lựa chọn, với ✅ cho đúng và ❌ cho sai. Tôi giữ nguyên văn bản gốc tiếng Anh của phương án, chỉ giải thích bằng tiếng Việt:

  • ❌ partition style
    Sai vì "partition style" chỉ liên quan đến phân vùng dữ liệu vật lý (physical partitioning) trong storage như Delta/Parquet (ví dụ: partition by date, region). Đây không phải phương pháp grouping tables trong template; nó dùng cho performance query, không phải tổ chức metadata semantic.

  • ✅ business area
    Đúng như đã giải thích ở trên. Đây là grouping method mặc định của template, phân loại bảng theo lĩnh vực kinh doanh để hỗ trợ data governance và discovery (cập nhật Fabric 2026 vẫn giữ nguyên).

  • ❌ size
    Sai vì "size" chỉ là thuộc tính kích thước bảng (table size), không dùng để grouping. Template không tổ chức bảng theo dung lượng dữ liệu; điều này có thể dẫn đến cấu trúc không logic và khó scale.

  • ❌ facts and dimensions
    Sai vì "facts and dimensions" là khái niệm star schema trong data warehousing (fact tables chứa metrics, dimension tables chứa attributes). Đây là cách model dữ liệu, không phải grouping method cho tables trong Synapse template. Template ưu tiên business area để linh hoạt hơn.

🧠 Lưu ý bổ sung: Nếu triển khai sai grouping, bạn có thể gặp lỗi khi publish semantic model hoặc query qua SQL endpoint. Luôn kiểm tra trong Synapse Studio > Develop > Lake database explorer để verify!

Câu 202
You have an Azure data factory connected to a Git repository that contains the following branches:

•main: Collaboration branch
•abc: Feature branch
•xyz: Feature branch

You save changes to a pipeline in the xyz branch.

You need to publish the changes to the live service.

What should you do first?
  1. A Publish the data factory.
  2. B Create a pull request to merge the changes into the main branch.
  3. C Create a pull request to merge the changes into the abc branch.
  4. D Push the code to a remote origin.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi này xoay quanh quy trình tích hợp Git trong Azure Data Factory (ADF), một tính năng cho phép quản lý mã nguồn (source control) theo mô hình GitFlow hoặc tương tự. Cụ thể:

  • ADF được kết nối với một Git repository có các nhánh (branches):

    • main: Nhánh chính (collaboration branch) – nơi chứa phiên bản "live" (sản xuất), và chỉ có thể publish thay đổi từ nhánh này ra dịch vụ live.
    • abc và xyz: Các feature branches – dùng để phát triển tính năng riêng lẻ, nơi bạn có thể chỉnh sửa pipeline mà không ảnh hưởng đến main.
  • Bạn đã lưu thay đổi (save changes) vào một pipeline trên nhánh xyz (feature branch).

  • Mục tiêu: Publish the changes to the live service – nghĩa là đưa thay đổi từ feature branch lên môi trường sản xuất (live).

  • Vấn đề cốt lõi: Trong ADF Git-integrated, bạn KHÔNG THỂ publish trực tiếp từ feature branch. Thay đổi chỉ được kích hoạt live sau khi merge vào collaboration branch (main) qua quy trình review (pull request - PR). Đây là best practice để đảm bảo chất lượng, collaboration và CI/CD.

Quy trình chuẩn (theo docs Microsoft cập nhật 2024-2026): Phát triển trên feature → Tạo PR merge vào main → Review & approve → Merge → Publish từ main. ✅

📘 Tài liệu tham khảo:

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Create a pull request to merge the changes into the main branch.

Lý do:

  • Trong ADF Git mode, bước đầu tiên và bắt buộc để đưa thay đổi từ feature branch (xyz) lên live là tạo Pull Request (PR) để merge vào main (collaboration branch).
  • Sau khi PR được approve và merge, bạn mới có thể switch sang main và publish để kích hoạt live.
  • Điều này tuân thủ GitFlow workflow, tránh deploy trực tiếp từ feature branch gây rủi ro. Nếu không merge vào main, thay đổi chỉ tồn tại cục bộ trên xyz. 🛠️

🛠️ Giải thích tất cả các phương án (đúng/sai)

  • ✅ [ĐÚNG] Create a pull request to merge the changes into the main branch.
    Như đã giải thích ở trên: Đây là bước đầu tiên chính xác. Main là collaboration branch duy nhất cho phép publish live sau merge. Quy trình này hỗ trợ review code, conflict resolution trước khi deploy. Hoàn hảo cho môi trường enterprise! 🚀

  • ❌ [SAI] Publish the data factory.
    Sai vì Publish chỉ khả dụng khi bạn đang ở collaboration branch (main). Nếu thử publish từ xyz (feature), ADF sẽ báo lỗi hoặc không cho phép. Publish là bước cuối cùng, không phải đầu tiên. Phải merge trước! ⚠️

  • ❌ [SAI] Create a pull request to merge the changes into the abc branch.
    Sai vì abc cũng là feature branch, không phải main. Merge xyz vào abc chỉ tạo nhánh feature lớn hơn, vẫn không publish được live. Chỉ main mới là "gateway" đến live service. Không logic theo GitFlow! 🔄

  • ❌ [SAI] Push the code to a remote origin.
    Sai vì push chỉ sync thay đổi cục bộ lên remote repo (nếu chưa push), nhưng không trigger publish live. Thay đổi vẫn ở xyz branch. Bạn vẫn cần PR → merge main → publish. Push là bước phụ, không phải "first step" cho live deployment. 📤

Câu 203 Chọn nhiều đáp án
You use Azure Data Factory to create data pipelines.

You are evaluating whether to integrate Data Factory and GitHub for source and version control.

What are two advantages of the integration? Each correct answer presents a complete solution.

NOTE: Each correct selection is worth one point.
  1. A additional triggers
  2. B lower pipeline execution times
  3. C the ability to save without publishing
  4. D the ability to save pipelines that have validation issues
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi này thuộc chủ đề Azure Data Factory (ADF), tập trung vào việc đánh giá lợi ích của việc tích hợp ADF với GitHub để quản lý nguồn và kiểm soát phiên bản (source and version control) cho các data pipeline.

  • Bối cảnh: Bạn đang sử dụng ADF để tạo data pipeline. Khi tích hợp với GitHub (hoặc Git repo nói chung), ADF cho phép lưu trữ mã nguồn pipeline dưới dạng file JSON trong Git, hỗ trợ collaboration, branching, và CI/CD.
  • Yêu cầu câu hỏi: Xác định hai lợi ích (advantages) của việc tích hợp này. Đây là câu hỏi multi-select (mỗi lựa chọn đúng đáng 1 điểm), nghĩa là có chính xác hai đáp án đúng cung cấp giải pháp hoàn chỉnh.
  • Lưu ý quan trọng: Tích hợp Git giúp tách biệt môi trường development (dev) và production (prod), cho phép làm việc nhóm mà không ảnh hưởng trực tiếp đến pipeline đang chạy.

📘 Tài liệu tham khảo:

✅ Đáp án đúng và lý do lựa chọn

Hai đáp án đúng là:
the ability to save without publishing
the ability to save pipelines that have validation issues

Lý do lựa chọn 🛠️:

  • Khi không tích hợp Git, ADF yêu cầu bạn phải publish (xuất bản) mọi thay đổi để lưu, và chỉ lưu được nếu pipeline validation thành công (không lỗi).
  • Với tích hợp GitHub, bạn có thể commit và push thay đổi trực tiếp vào branch Git mà không cần publish, giúp collaborate an toàn (dev branch riêng). Đồng thời, ADF cho phép lưu pipeline có validation issues (lỗi kiểm tra) vào Git, vì Git quản lý version độc lập với runtime validation.
  • Điều này thúc đẩy best practice như branching (feature/dev/main) và CI/CD, theo hướng dẫn Microsoft đến 2026.

📋 Giải thích tất cả các phương án (đúng/sai)

  • ❌ additional triggers
    Phân tích sai: Tích hợp GitHub không cung cấp thêm triggers (kích hoạt pipeline). Triggers (như schedule, tumbling window) được quản lý riêng trong ADF và publish độc lập với Git. Git chỉ lo version control mã nguồn, không ảnh hưởng đến execution triggers.

  • ❌ lower pipeline execution times
    Phân tích sai: Tích hợp Git không làm giảm thời gian thực thi pipeline (execution times). Performance phụ thuộc vào compute (Integration Runtime), data volume, và optimization (như partitioning). Git chỉ hỗ trợ dev workflow, không tối ưu runtime.

  • ✅ the ability to save without publishing
    Phân tích đúng: Đây là lợi ích cốt lõi! Trong Git mode, bạn lưu (save/commit) thay đổi vào Git branch mà không publish lên live workspace. Publish chỉ xảy ra khi merge vào collaboration branch và deploy thủ công/tự động, tránh ảnh hưởng production.

  • ✅ the ability to save pipelines that have validation issues
    Phân tích đúng: ADF Git cho phép commit pipeline có lỗi validation (syntax, reference lỗi) vào repo, vì Git không enforce validation runtime. Điều này hữu ích cho dev/debug iterative, khác với non-Git mode chặn lưu nếu validation fail.

Câu 204
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You have an Azure subscription that contains an Azure data factory named ADF1.

From Azure Data Factory Studio, you build a complex data pipeline in ADF1.

You discover that the Save button is unavailable, and there are validation errors that prevent the pipeline from being published.

You need to ensure that you can save the logic of the pipeline.

Solution: You enable Git integration for ADF1.

Does this meet the goal?
  1. A Yes
  2. B No
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi thuộc dạng case study trong kỳ thi chứng chỉ Microsoft Azure (như DP-203), mô tả tình huống thực tế:

  • Bạn có một Azure subscription chứa Azure Data Factory (ADF1).
  • Từ Azure Data Factory Studio, bạn xây dựng một data pipeline phức tạp trong ADF1.
  • Vấn đề: Nút Save không khả dụng (unavailable), và có validation errors ngăn chặn việc publish pipeline.
  • Mục tiêu (goal): Đảm bảo có thể lưu logic của pipeline (save the logic of the pipeline).
  • Giải pháp đề xuất (Solution): Bật Git integration cho ADF1.
  • Câu hỏi: Giải pháp này có đạt được mục tiêu không? (Does this meet the goal?)

📘 Bối cảnh quan trọng: Trong ADF không bật Git (chế độ browser authoring), pipeline được lưu tạm thời vào draft/collaboration branch (lưu trữ tạm). Với pipeline phức tạp (complex), dễ gặp giới hạn kích thước/lưu trữ tạm thời, dẫn đến nút Save bị vô hiệu hóa. Validation errors chỉ ảnh hưởng đến Publish, nhưng Save unavailable là vấn đề riêng cần Git để khắc phục (theo tài liệu AWS? – thực tế là Azure, cập nhật đến 2026 với ADF v2.0+ hỗ trợ Git mạnh mẽ hơn).

✅ Đáp án đúng: Yes

Lý do lựa chọn:
🛠️ Bật Git integration chuyển ADF sang chế độ Git-enabled, cho phép lưu pipeline vào repository Git (Azure Repos/GitHub). Điều này vượt qua giới hạn lưu trữ tạm của browser mode, kích hoạt nút Save (commit vào feature branch), và cho phép quản lý version control hiệu quả ngay cả với pipeline phức tạp có validation errors. Bạn có thể save logic trước, sau fix errors rồi publish qua pull request/merge. Giải pháp đúng 100% đạt mục tiêu (xác nhận từ ADF docs 2024-2026).

📋 Giải thích tất cả các phương án

  • Yes ✅:
    Đúng. Như giải thích trên, Git integration giải quyết trực tiếp vấn đề Save unavailable bằng cách sử dụng Git repo thay vì lưu tạm. Trong ADF (cập nhật 2026), Git hỗ trợ pipeline lớn (>2MB), auto-validation linh hoạt, và không bị block bởi errors tạm thời. Bạn save/commit → push → merge để publish.

  • No ❌:
    Sai. Không chọn vì giải pháp đúng đạt goal. Nếu chọn No, bạn bỏ lỡ lợi ích cốt lõi của Git: version control, collaboration, và khả năng save complex pipelines mà browser mode không hỗ trợ tốt (dẫn đến Save disabled). Các giải pháp khác (như fix errors thủ công) không giải quyết gốc rễ "Save unavailable".

📚 Tài liệu tham khảo

🧠 Lưu ý: Đây là mẫu câu hỏi Microsoft exam, thường có >1 giải pháp đúng trong series, nhưng giải pháp này Yes rõ ràng!

Câu 205
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You have an Azure subscription that contains an Azure data factory named ADF1.

From Azure Data Factory Studio, you build a complex data pipeline in ADF1.

You discover that the Save button is unavailable, and there are validation errors that prevent the pipeline from being published.

You need to ensure that you can save the logic of the pipeline.

Solution: You view the JSON code representation of the resource and copy the JSON to a file.

Does this meet the goal?
  1. A Yes
  2. B No
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi thuộc dạng case study trong kỳ thi chứng chỉ (có thể là AZ-305 hoặc tương tự), mô tả tình huống thực tế:

  • Bạn có một Azure subscription chứa Azure Data Factory (ADF) tên ADF1.
  • Từ Azure Data Factory Studio, bạn xây dựng một data pipeline phức tạp.
  • Vấn đề: Nút Save không khả dụng (unavailable), và có validation errors (lỗi xác thực) ngăn chặn việc publish pipeline.
  • Mục tiêu (goal): Đảm bảo có thể lưu (save) logic của pipeline (tức là bảo toàn mã logic, cấu trúc pipeline để sử dụng sau).

Giải pháp đề xuất (Solution): Xem JSON code representation của resource (chuyển sang tab Code trong ADF Studio để xem mã JSON) và copy JSON vào một file.

Câu hỏi: Giải pháp này có đạt được mục tiêu không? (Does this meet the goal?).
✅ Đây là cách xử lý phổ biến trong ADF khi UI bị khóa do errors, vì ADF lưu trữ mọi thứ dưới dạng JSON (declarative), cho phép export/import thủ công.

✅ Đáp án đúng: Yes

Lý do lựa chọn (dựa trên kiến thức Azure Data Factory phiên bản mới nhất 2024-2026):

  • Trong Azure Data Factory Studio, khi pipeline có validation errors (như schema mismatch, activity config sai), nút Save và Publish bị disable để tránh deploy code lỗi.
  • Tuy nhiên, bạn vẫn có thể chuyển sang tab Code (JSON view) để xem và copy toàn bộ mã JSON của pipeline.
  • Copy JSON ra file (.json) chính là cách save logic hoàn chỉnh (bao gồm activities, datasets, parameters, triggers...). Sau đó, bạn có thể:
    • Chỉnh sửa JSON thủ công (fix errors).
    • Import lại vào ADF mới qua ARM template hoặc Git integration.
    • Deploy qua Azure DevOps hoặc PowerShell (New-AzDataFactoryV2Pipeline).
      🛠️ Điều này hoàn toàn đạt mục tiêu, vì logic pipeline được bảo toàn 100% dưới dạng file JSON portable, không phụ thuộc UI. Không có thay đổi lớn trong ADF v2 đến 2026 (theo roadmap Microsoft Ignite 2024).

📋 Giải thích tất cả các phương án

  • Yes
    ✅ Đúng: Giải pháp này meet the goal vì JSON là định dạng native của ADF pipeline. Bạn có thể export code ngay cả khi UI lock, lưu file JSON làm backup logic. Sau fix errors (trong VS Code hoặc notepad++), import lại qua ADF Studio > Author > ... > Import ARM template. Đây là best practice được Microsoft recommend cho troubleshooting (không mất code).

  • No
    ❌ Sai: Không phải, vì copy JSON chính xác là cách save logic hiệu quả. Nếu chọn No, bạn bỏ lỡ declarative nature của ADF (tất cả resources là JSON-based). Các giải pháp khác (như restart browser) không reliable bằng.

📘 Tài liệu tham khảo (cập nhật mới nhất 2024-2026)

🛠️ Lời khuyên từ Azure Data Engineer: Luôn dùng Git integration cho ADF để tránh mất code, và validate pipeline trước publish bằng Debug mode!

Câu 206
You have two Azure Blob Storage accounts named account1 and account2.

You plan to create an Azure Data Factory pipeline that will use scheduled intervals to replicate newly created or modified blobs from account1 to account2.

You need to recommend a solution to implement the pipeline. The solution must meet the following requirements:
•Ensure that the pipeline only copies blobs that were created or modified since the most recent replication event.
•Minimize the effort to create the pipeline.

What should you recommend?
  1. A Run the Copy Data tool and select Metadata-driven copy task.
  2. B Create a pipeline that contains a Data Flow activity.
  3. C Create a pipeline that contains a flowlet.
  4. D Run the Copy Data tool and select Built-in copy task.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào việc thiết kế một pipeline trong Azure Data Factory (ADF) để sao chép (replicate) dữ liệu từ hai tài khoản Azure Blob Storage: account1 sang account2. Pipeline này sẽ chạy theo lịch trình định kỳ (scheduled intervals), chỉ sao chép những blob mới tạo hoặc đã sửa đổi kể từ lần replicate gần nhất. Yêu cầu chính:

  • ✅ Đảm bảo tính incremental: Chỉ copy dữ liệu thay đổi (created or modified since the most recent replication event), tránh copy toàn bộ để tiết kiệm tài nguyên.
  • ✅ Tối ưu hóa công sức: Minimize the effort to create the pipeline, nghĩa là ưu tiên giải pháp đơn giản, nhanh chóng triển khai mà không cần code phức tạp.

Đây là kịch bản phổ biến trong ADF để đồng bộ dữ liệu blob, sử dụng cơ chế change detection dựa trên thuộc tính Last Modified hoặc timestamp. Giải pháp cần tận dụng các tính năng built-in của ADF để tự động hóa pipeline mà không yêu cầu phát triển thủ công nhiều. (Kiến thức cập nhật đến 2024-2026: ADF hỗ trợ Copy Activity với Binary format cho blob replication, và Copy Data tool là wizard tự động tạo pipeline incremental).

✅ Đáp án đúng và lý do lựa chọn

Run the Copy Data tool and select Built-in copy task.

Lý do 🛠️:

  • Copy Data tool là công cụ wizard trực quan trong ADF (truy cập qua Azure Portal), giúp tạo pipeline tự động chỉ trong vài cú click, hoàn toàn minimize effort – không cần code thủ công.
  • Built-in copy task hỗ trợ incremental copy native cho Blob Storage bằng cách sử dụng "Modified DateTime" slice hoặc binary copy với watermark (timestamp theo dõi lần chạy trước). Nó tự động detect và chỉ copy blob mới/sửa đổi kể từ lần replicate gần nhất.
  • Hoàn hảo khớp yêu cầu: Scheduled trigger + change detection, phù hợp phiên bản ADF mới nhất (v2.x với optimizations đến 2026).

📋 Giải thích tất cả các phương án (đúng/sai)

  • ❌ [SAI] Run the Copy Data tool and select Metadata-driven copy task.
    Phương án này sử dụng Copy Data tool (tốt cho minimize effort) nhưng chọn Metadata-driven copy task – một tính năng nâng cao yêu cầu tạo bảng metadata riêng (JSON/CSV định nghĩa dataset động). Nó phức tạp hơn, không tự động hỗ trợ incremental blob đơn giản mà cần cấu hình slice/custom logic, tăng effort không cần thiết. Không phù hợp cho replicate blob thuần túy.

  • ❌ [SAI] Create a pipeline that contains a Data Flow activity.
    Data Flow activity dùng cho transformation dữ liệu phức tạp (ETL với mapping, aggregation), không phải copy binary đơn giản. Nó yêu cầu debug cluster (tốn chi phí), thiết kế graph thủ công, và không tối ưu incremental blob (phải dùng watermark thủ công). Effort cao, không minimize, phù hợp Synapse/ADF cho analytics chứ không phải replication.

  • ❌ [SAI] Create a pipeline that contains a flowlet.
    Flowlet là tính năng mới (từ 2023-2024 trong ADF/Synapse) để reusable data flow snippets, nhưng vẫn thuộc Data Flow ecosystem – yêu cầu tạo pipeline thủ công với transformation. Không hỗ trợ copy incremental blob native, effort lớn (design + publish flowlet), không đơn giản như wizard. Chỉ dùng cho modular ETL phức tạp.

  • ✅ [ĐÚNG] Run the Copy Data tool and select Built-in copy task.
    Như đã giải thích: Wizard tự động tạo Copy Activity với built-in incremental logic (sử dụng @pipeline().TriggerTime làm watermark cho LastModified filter). Hỗ trợ scheduled trigger ngay lập tức, zero-code cho blob-to-blob. Effort thấp nhất!

📘 Tài liệu tham khảo

Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần demo pipeline thực tế, hãy cho biết thêm.

Câu 207
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You have an Azure subscription that contains an Azure data factory named ADF1.

From Azure Data Factory Studio, you build a complex data pipeline in ADF1.

You discover that the Save button is unavailable, and there are validation errors that prevent the pipeline from being published.

You need to ensure that you can save the logic of the pipeline.

Solution: You export ADF1 as an Azure Resource Manager (ARM) template.

Does this meet the goal?
  1. A Yes
  2. B No
Xem giải thích

🧩 Giải thích chi tiết nội dung câu hỏi

Câu hỏi thuộc dạng case study trong kỳ thi chứng chỉ Microsoft Azure (như AZ-305 hoặc DP-203), nơi bạn phải đánh giá một giải pháp cụ thể có đạt được mục tiêu hay không. Tình huống: Bạn có một Azure subscription chứa Azure Data Factory (ADF) tên ADF1. Từ Azure Data Factory Studio, bạn xây dựng một pipeline dữ liệu phức tạp. Tuy nhiên, nút Save bị vô hiệu hóa (unavailable) và có lỗi validation ngăn không cho publish pipeline. Mục tiêu: Đảm bảo có thể lưu lại logic của pipeline (save the logic of the pipeline).
Giải pháp đề xuất: Export ADF1 dưới dạng Azure Resource Manager (ARM) template.
Câu hỏi chính: Giải pháp này có đạt mục tiêu không? (Does this meet the goal?)
📌 Lưu ý quan trọng: Trong ADF, các thay đổi trên canvas (giao diện thiết kế) chỉ là draft (bản nháp). Nút Save cho phép lưu draft, nhưng nếu có validation errors nghiêm trọng, Save có thể bị disable. Publish mới deploy draft lên production. Export ARM chỉ capture trạng thái published, không bao gồm draft chưa lưu/publish.

✅ Đáp án đúng: No

Lý do lựa chọn: Giải pháp export ADF1 as ARM template KHÔNG đạt mục tiêu vì ARM template chỉ export cấu hình đã publish của toàn bộ Data Factory, không capture các thay đổi draft chưa lưu trên canvas do validation errors. Bạn sẽ mất logic pipeline mới xây dựng nếu không fix errors và save draft trước. Cách đúng để save draft dù có errors là tích hợp Git source control (commit changes vào repo Git), hoặc fix errors để enable Save. Kiến thức này dựa trên ADF phiên bản mới nhất (tính đến 2026, không thay đổi cơ bản từ 2023+).

🛠️ Phân tích tất cả các phương án

  • Yes ❌
    Sai vì: Phương án này cho rằng export ARM template sẽ lưu logic pipeline draft. Thực tế, ARM export chỉ lấy metadata published artifacts (pipelines, datasets đã deploy), bỏ qua draft chưa save. Nếu Save unavailable do errors, draft không được lưu vào ADF backend, nên ARM không giúp recover logic mới. Điều này dẫn đến mất dữ liệu thiết kế.

  • No ✅
    Đúng vì: Giải pháp không giải quyết gốc rễ vấn đề validation errors và nút Save bị disable. Export ARM không lưu draft trực tiếp mà chỉ backup trạng thái cũ (published). Để save logic thật sự, cần: (1) Fix validation errors 🐛 (như missing linked services, syntax sai), (2) Enable Git mode để commit draft bất chấp errors 📂, hoặc (3) Validate từng activity riêng lẻ trước khi save toàn bộ.

📘 Tài liệu tham khảo

Câu 208
You have an Azure Data Factory pipeline named pipeline1 that contains a data flow activity named activity1.

You need to run pipeline1.

Which runtime will be used to run activity1?
  1. A Azure Integration runtime
  2. B Self-hosted integration runtime
  3. C SSIS integration runtime
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi này thuộc chủ đề Azure Data Factory (ADF), tập trung vào việc xác định Integration Runtime (IR) được sử dụng để chạy một data flow activity trong pipeline. Cụ thể:

  • Bạn có một pipeline ADF tên pipeline1, bên trong chứa một hoạt động data flow activity tên activity1.
  • Yêu cầu: Chạy pipeline1, và cần xác định runtime nào sẽ được dùng để thực thi activity1.
  • Data flow activity là một loại hoạt động đặc biệt trong ADF, dùng để thực hiện biến đổi dữ liệu (data transformation) theo kiểu declarative, dựa trên Spark engine, chạy hoàn toàn trên cloud của Azure mà không cần tài nguyên on-premises.
  • Theo tài liệu Microsoft cập nhật mới nhất (đến năm 2024-2026, phiên bản ADF v2), data flow luôn yêu cầu Azure Integration Runtime để thực thi, vì nó cần môi trường managed Spark cluster trên Azure Databricks-like engine. Không thể dùng IR khác cho data flow.

📘 Nguồn tham khảo chính:

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Azure Integration runtime

🛠️ Lý do chi tiết:

  • Data flow activity chỉ chạy trên Azure Integration Runtime (Azure IR), cụ thể là loại AutoResolveIntegrationRuntime hoặc IR managed dành cho data flow (như AzureIR hoặc Data Flow IR).
  • Khi pipeline chạy, ADF tự động provision một Spark cluster tạm thời trên Azure để xử lý data flow, và Azure IR quản lý toàn bộ quá trình này (bao gồm scaling, compute, và networking).
  • Đây là thiết kế cốt lõi của ADF từ phiên bản mới nhất (2024+), đảm bảo serverless và fully managed, không phụ thuộc vào tài nguyên tự host.

📋 Giải thích tất cả các phương án (đúng/sai)

  • Azure Integration runtime ✅
    Đúng vì data flow activity bắt buộc sử dụng Azure IR để thực thi trên cloud managed environment. ADF tự động resolve IR này khi debug hoặc trigger pipeline chứa data flow. Không có tùy chọn nào khác phù hợp, giúp tối ưu chi phí và hiệu suất với Spark execution model.

  • Self-hosted integration runtime ❌
    Sai vì Self-hosted IR chỉ dùng cho hoạt động kết nối on-premises hoặc hybrid (như copy data từ SQL Server local, file shares). Data flow không hỗ trợ self-hosted vì cần Spark cluster cloud-native; sử dụng sẽ báo lỗi "IR not compatible with data flow".

  • SSIS integration runtime ❌
    Sai vì SSIS IR (Azure-SSIS IR) dành riêng cho chạy SSIS packages (SQL Server Integration Services) trên Azure VM cluster. Data flow là tính năng native của ADF, không liên quan đến SSIS, nên không thể chạy trên SSIS IR – ADF sẽ từ chối và yêu cầu Azure IR.

🧮 Tóm tắt nhanh: Data flow = Azure IR only! Các IR khác chỉ hỗ trợ copy/move/transform cơ bản hoặc legacy workloads. Nếu config sai IR trong linked service/dataset, pipeline sẽ fail ngay khi trigger.

Câu 209
You have an Azure data factory named ADF1 and an Azure Synapse Analytics workspace that contains a pipeline named SynPipeLine1. SynPipeLine1 includes a Notebook activity.

You create a pipeline in ADF1 named ADFPipeline1.

You need to invoke SynPipeLine1 from ADFPipeline1.

Which type of activity should you use?
  1. A Web
  2. B Spark
  3. C Custom
  4. D Notebook
Xem giải thích

🧩 Giải thích chi tiết nội dung câu hỏi

Câu hỏi này xoay quanh việc tích hợp giữa Azure Data Factory (ADF) và Azure Synapse Analytics. Cụ thể:

  • Bạn có một Azure Data Factory (ADF1) và một Azure Synapse Analytics workspace chứa một pipeline tên SynPipeLine1 (pipeline này bao gồm một Notebook activity).
  • Bạn tạo một pipeline mới trong ADF1 tên ADFPipeline1.
  • Mục tiêu: Từ ADFPipeline1 (trong ADF), cần kích hoạt (invoke) SynPipeLine1 (trong Synapse workspace).

Vấn đề cốt lõi là làm thế nào để gọi một pipeline từ Synapse workspace thông qua một pipeline trong ADF? Đây là tình huống phổ biến trong ETL/ELT hybrid, nơi ADF làm orchestration chính và Synapse xử lý compute nặng (như Notebook). Giải pháp yêu cầu sử dụng activity phù hợp để thực hiện lời gọi HTTP/REST API đến endpoint của Synapse pipeline. (Kiến thức cập nhật đến 2026: Azure Synapse hỗ trợ trigger pipeline qua REST API v2, tích hợp mượt mà với ADF qua Managed Identity hoặc Service Principal).

📘 Tài liệu tham khảo:

✅ Đáp án đúng: Web

Lý do lựa chọn:

  • Web activity trong ADF được thiết kế để thực hiện các lời gọi HTTP/REST đến bất kỳ endpoint nào, bao gồm Synapse Pipeline REST API (ví dụ: https://management.azure.com/subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.Synapse/workspaces/{ws}/pipelineruns/{runId}?api-version=2021-06-01).
  • Để invoke SynPipeLine1, bạn cấu hình Web activity với URL của Synapse endpoint, method POST, authentication (Managed Identity hoặc AAD token), và body chứa tham số pipeline.
  • Đây là cách chuẩn và được khuyến nghị bởi Microsoft cho cross-service trigger (ADF → Synapse), hỗ trợ monitoring, retry, và error handling tự động. Không cần custom code hay extension.

🛠️ Phân tích tất cả các phương án (đúng/sai)

  • Web ✅
    Đúng vì đây là activity chuyên dụng cho REST API calls trong ADF. Synapse pipelines được expose qua REST API công khai, nên Web activity invoke trực tiếp mà không cần trung gian. Hỗ trợ đầy đủ secure auth (MSI, SAS token) và JSON payload cho parameters.

  • Spark ❌
    Sai vì Spark activity chỉ dùng để submit và chạy Spark jobs trên Synapse Spark pools hoặc HDInsight/EMR. Nó không hỗ trợ trigger pipeline toàn bộ (như SynPipeLine1 chứa Notebook). Spark activity tập trung vào compute Spark, không phải orchestration pipeline.

  • Custom ❌
    Sai vì Custom activity dành cho chạy custom .NET code (DLL) trên Azure Batch hoặc Integration Runtime, thường dùng cho logic phức tạp không có activity sẵn. Việc invoke Synapse pipeline không cần custom code vì Web activity đã xử lý REST call đơn giản và hiệu quả hơn.

  • Notebook ❌
    Sai vì Notebook activity chỉ chạy Synapse Notebooks (Spark/Python notebook) trực tiếp trong cùng Synapse workspace. Nó không thể invoke pipeline từ workspace khác hoặc từ ADF. SynPipeLine1 là pipeline chứa Notebook activity, không phải notebook đơn lẻ để chạy trực tiếp.

Kết luận: Sử dụng Web activity là giải pháp tối ưu, scalable và native cho integration ADF-Synapse! 🚀

Câu 210
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.

After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.

You have an Azure subscription that contains an Azure data factory named ADF1.

From Azure Data Factory Studio, you build a complex data pipeline in ADF1.

You discover that the Save button is unavailable, and there are validation errors that prevent the pipeline from being published.

You need to ensure that you can save the logic of the pipeline.

Solution: You disable all the triggers for ADF1.

Does this meet the goal?
  1. A Yes
  2. B No
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi thuộc dạng series questions trong kỳ thi chứng chỉ (có thể là AZ-305 hoặc tương tự), nơi mỗi câu trình bày một tình huống giống nhau nhưng giải pháp khác nhau. Tình huống cụ thể:

  • Bạn có một Azure subscription chứa Azure Data Factory (ADF) tên ADF1.
  • Từ Azure Data Factory Studio, bạn xây dựng một data pipeline phức tạp.
  • Vấn đề: Nút Save không khả dụng (unavailable), và có validation errors (lỗi xác thực) ngăn chặn việc publish pipeline.
  • Mục tiêu (goal): Đảm bảo có thể save logic của pipeline (lưu logic pipeline).

Giải pháp đề xuất (Solution): You disable all the triggers for ADF1 (Tắt tất cả các triggers của ADF1).
Câu hỏi: Giải pháp này có đạt được mục tiêu không? (Does this meet the goal?)

📘 Bối cảnh kiến thức cập nhật (Azure Data Factory v2, phiên bản mới nhất 2024-2026): Trong ADF, pipeline phải qua validation (xác thực cú pháp, tham chiếu hoạt động, dependencies) trước khi save hoặc publish. Validation errors thường do logic sai (ví dụ: tham số thiếu, activity không hợp lệ, connection string lỗi). Triggers (như schedule, tumbling window) chỉ dùng để kích hoạt pipeline chạy tự động, không ảnh hưởng đến validation hoặc save pipeline. Nút Save bị khóa khi validation fail. Để save, phải fix errors trực tiếp trong pipeline hoặc dùng feature branches (nếu dùng Git integration).

✅ Đáp án đúng: No

Lý do lựa chọn:
Giải pháp tắt tất cả triggers ❌ KHÔNG giải quyết validation errors, vì triggers chỉ quản lý scheduling và execution của pipeline, không liên quan đến logic validation khi save/publish. Validation errors xuất phát từ nội dung pipeline (activities, datasets, parameters), nên cần sửa lỗi trực tiếp. Disable triggers chỉ tạm dừng runs đang chờ, nhưng nút Save vẫn unavailable. Theo docs Azure (2024+), để save pipeline với errors, dùng Validate tool fix issues hoặc branching để isolate. Giải pháp này không meet the goal.

🛠️ Giải thích tất cả các phương án

  • Yes ❌
    Sai vì: Phương án này cho rằng disable triggers sẽ unlock nút Save và cho phép publish. Thực tế, triggers không ảnh hưởng đến pipeline validation. Errors vẫn tồn tại, pipeline không save được. Đây là misconception phổ biến – triggers chỉ control runtime, không phải authoring time.

  • No ✅
    Đúng vì: Giải pháp không đạt mục tiêu, vì validation errors phải fix thủ công (sửa activities, connections trong Studio). Các cách đúng khác (không phải giải pháp này): Enable Git integration dùng feature branch (save draft mà không publish), fix errors qua Validate button, hoặc export ARM template. Disable triggers chỉ hữu ích nếu conflict với active runs, nhưng không liên quan validation.

📘 Tài liệu tham khảo

Hy vọng phân tích giúp bạn nắm vững! 🚀 Nếu cần thêm series questions liên quan, hãy hỏi nhé!