Practice Assessment for Exam AZ-204: Developing Solutions for Microsoft Azure – 12
4 mins read

Practice Assessment for Exam AZ-204: Developing Solutions for Microsoft Azure – 12



✅ Phân tích đáp án câu hỏi

📌 Dịch câu hỏi:

Bạn đang phát triển đoạn mã sau để đọc tất cả sự kiện đã xuất bản (published events) cho phân vùng đầu tiên (first partition) trong Azure Event Hubs.
(Các số dòng được đưa vào chỉ để tham khảo.)

Bạn cần hoàn chỉnh đoạn mã.

Câu hỏi:

Bạn nên thực hiện hai hành động nào? Mỗi đáp án đúng trình bày một phần của giải pháp.


🔍 Các lựa chọn:

Đoạn mãCó phù hợp không?Giải thích
EventPosition startingPosition = EventPosition.Earliest; (Dòng 6)✅ ĐúngĐoạn mã này sử dụng vị trí bắt đầu sớm nhất (earliest starting position), cần thiết để đọc tất cả sự kiện đã xuất bản (read all published events).
EventPosition startingPosition = EventPosition.Latest; (Dòng 6)❌ KhôngVị trí bắt đầu mới nhất (latest starting position) sẽ bỏ qua các sự kiện trước đó – không phù hợp nếu bạn cần đọc tất cả sự kiện đã xuất bản.
string partitionId = (await consumer.GetPartitionIdsAsync()).First(); (Dòng 7)✅ ĐúngPhương thức GetPartitionIdsAsync() trả về một mảng chuỗi (string[]), vì vậy cần khai báo partitionIdkiểu chuỗi (string).
int partitionId = (await consumer.GetPartitionIdsAsync()).First(); (Dòng 7)❌ KhôngPhương thức First() trả về một chuỗi (string), không thể gán cho biến kiểu số nguyên (int), do đó sẽ gây lỗi biên dịch.

📘 Bổ sung từ tài liệu chính thức

Câu hỏi này kiểm tra kiến thức của thí sinh về cách đọc sự kiện (reading events) từ Azure Event Hubs.

Việc chèn đoạn mã startingPosition = EventPosition.Earliest ở dòng 6 sử dụng vị trí bắt đầu sớm nhất (earliest starting position), cần thiết để đọc tất cả sự kiện đã được xuất bản.

Việc chèn đoạn mã string partitionId = (await consumer.GetPartitionIdsAsync()).First(); tại dòng 7 là cần thiết.

Phương thức GetPartitionIdsAsync() trả về một mảng chuỗi (string[]).
Phương thức First() vì vậy sẽ trả về một chuỗi (string).

Đoạn mã sử dụng EventPosition.Latest không sử dụng vị trí bắt đầu sớm nhất.
Đoạn mã khai báo int partitionId là sai vì First() trả về chuỗi (string) chứ không phải số nguyên (int), do đó kiểu dữ liệu không khớp.

🔗 Nguồn tài liệu:


✅ Kết luận:

Hai hành động bạn nên thực hiện là:

  • Thêm dòng sau tại dòng 6:
    EventPosition startingPosition = EventPosition.Earliest;
  • Thêm dòng sau tại dòng 7:
    string partitionId = (await consumer.GetPartitionIdsAsync()).First();

🔐 Lý do: Đây là hai dòng mã cần thiết để:

  • Bắt đầu đọc từ sự kiện đầu tiên (earliest event)
  • Lấy ID phân vùng đầu tiên (first partition ID) đúng cách (kiểu chuỗi)

Leave a Reply

Your email address will not be published. Required fields are marked *