Submitting a PDF to Azure Content Understanding with Python SDK
Short answer
C Submit the PDF with begin_analyze() and retrieve the extracted fields via poller.result() in Azure Content Understanding.
Question
You need to use the Python SDK to submit a PDF for analysis and retrieve the extraction results.
What should you do?
Key Takeaways
The question tests knowledge that Content Understanding analysis is a long-running operation, and the common trap is assuming analyze() returns fields synchronously in one request.
Azure Content Understanding in Foundry Tools analyzes PDFs as a long-running operation, so the Python SDK exposes an asynchronous begin/poll pattern. This page establishes that begin_analyze() starts the job and returns a poller, whose .result() method yields the extracted fields once processing completes.
Common mistake: Option A is the most common wrong pick because learners expect a simple synchronous call; the SDK's analyze() path does not return the extracted fields in the same request for this workload, so the operation must be polled.
Expert Analysis
Why the Answer Is Correct
Azure Content Understanding performs document analysis as a long-running operation, and the Python SDK models this with an LROPoller pattern. Calling begin_analyze submits the PDF to the analyzer and immediately returns a poller object rather than the payload. You then call poller.result, which blocks until the operation reaches a terminal state and returns the structured extraction output, including the requested fields. This is exactly the flow described for Content Understanding SDK usage, so C is correct.
Why the Other Options Are Wrong
Option A is wrong because the SDK does not return extracted fields synchronously in the initiating request; begin_analyze is the entry point that returns a poller, not results. Option B is wrong because analysis results are retrieved through the operation's result object, not read from request headers, which only carry metadata such as operation-location. Option D describes a generic OCR-plus-manual-mapping approach, which bypasses Content Understanding's analyzer entirely and does not submit the PDF for analysis as the question requires.
Community Comment Notes
Nicolase selected C and explained that "Content Understanding performs the analysis as a long-running operation", noting that begin_analyze returns a poller and that poller.result waits for processing and returns the structured result. That reasoning matches the SDK contract and supports the same verdict reached here.
Exam Strategy
When a question mentions submitting a document for analysis in Azure AI Foundry, look for the begin_/poller long-running-operation pattern as the telltale correct answer. Eliminate options that claim results arrive synchronously or in HTTP headers for large-document workloads.
Frequently Asked Questions
Why doesn't analyze() return the extracted fields synchronously?
Why is reading results from request headers incorrect?
Discussion 1 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 1
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All AI-901 Questions
Access 105 questions with complete answers and detailed explanations.
View Full AI-901 Practice Test →
begin_analyze(), and then callpoller.result()to retrieve the results. Content Understanding performs the analysis as a long-running operation: 1.begin_analyze()initiates the processing and returns apollerobject. 2.poller.result()waits for the processing to complete and returns the structured result.