다음을 통해 공유


DocumentAnalysisClient 클래스

DocumentAnalysisClient는 문서 및 이미지의 정보를 분석하고 문서를 분류합니다. 미리 빌드된 모델(영수증, 명함, 청구서, ID 문서 등)을 사용하여 분석하고, 문서의 레이아웃을 분석하고, 일반 문서 유형을 분석하고, 빌드된 모델을 사용하여 사용자 지정 문서를 분석하는 데 사용할 수 있는 인터페이스입니다(서비스에서 지원하는 모델의 전체 목록을 보려면 다음 https://aka.ms/azsdk/formrecognizer/models을 참조하세요.). URL의 입력과 스트림의 입력에 따라 다른 메서드를 제공합니다.

참고

DocumentAnalysisClient를 API 버전과 함께 사용해야 합니다.

2022-08-31 이상. API 버전 <=v2.1을 사용하려면 FormRecognizerClient를 인스턴스화합니다.

버전 2022-08-31의 새로운 기능: DocumentAnalysisClient 및 해당 클라이언트 메서드.

상속
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
DocumentAnalysisClient

생성자

DocumentAnalysisClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)

매개 변수

endpoint
str
필수

지원되는 Cognitive Services 엔드포인트(프로토콜 및 호스트 이름( 예: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential 또는 TokenCredential
필수

클라이언트가 Azure에 연결하는 데 필요한 자격 증명입니다. API 키 또는 의 토큰 자격 증명identity을 사용하는 경우 AzureKeyCredential의 instance.

api_version
str 또는 DocumentAnalysisApiVersion

요청에 사용할 서비스의 API 버전입니다. 기본값은 최신 서비스 버전입니다. 이전 버전으로 설정하면 기능 호환성이 저하될 수 있습니다. API 버전 <=v2.1을 사용하려면 FormRecognizerClient를 인스턴스화합니다.

예제

엔드포인트 및 API 키를 사용하여 DocumentAnalysisClient를 만듭니다.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   document_analysis_client = DocumentAnalysisClient(endpoint, AzureKeyCredential(key))

토큰 자격 증명을 사용하여 DocumentAnalysisClient를 만듭니다.


   """DefaultAzureCredential will use the values from these environment
   variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET
   """
   from azure.ai.formrecognizer import DocumentAnalysisClient
   from azure.identity import DefaultAzureCredential

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   credential = DefaultAzureCredential()

   document_analysis_client = DocumentAnalysisClient(endpoint, credential)

메서드

begin_analyze_document

지정된 문서에서 필드 텍스트 및 의미 체계 값을 분석합니다.

버전 2023-07-31의 새로운 기능: 인수를 키워드(keyword) 기능입니다.

begin_analyze_document_from_url

지정된 문서에서 필드 텍스트 및 의미 체계 값을 분석합니다. 입력은 분석할 문서의 위치(URL)여야 합니다.

버전 2023-07-31의 새로운 기능: 인수를 키워드(keyword) 기능입니다.

begin_classify_document

문서 분류자를 사용하여 문서를 분류합니다. 사용자 지정 분류자 모델을 빌드하는 방법에 대한 자세한 내용은 를 참조하세요 https://aka.ms/azsdk/formrecognizer/buildclassifiermodel.

버전 2023-07-31의 새로운 기능: begin_classify_document 클라이언트 메서드입니다.

begin_classify_document_from_url

문서 분류자를 사용하여 지정된 문서를 분류합니다. 사용자 지정 분류자 모델을 빌드하는 방법에 대한 자세한 내용은 를 참조하세요 https://aka.ms/azsdk/formrecognizer/buildclassifiermodel. 입력은 분류할 문서의 위치(URL)여야 합니다.

버전 2023-07-31의 새로운 기능: begin_classify_document_from_url 클라이언트 메서드입니다.

close

세션을 닫습니다 DocumentAnalysisClient .

send_request

클라이언트의 기존 파이프라인을 사용하여 네트워크 요청을 실행합니다.

요청 URL은 기본 URL을 기준으로 할 수 있습니다. 요청에 사용되는 서비스 API 버전은 달리 지정하지 않는 한 클라이언트의 버전과 동일합니다. 상대 URL에서 클라이언트의 구성된 API 버전을 재정의하는 것은 API 버전 2022-08-31 이상을 사용하는 클라이언트에서 지원됩니다. 모든 API 버전으로 클라이언트에서 지원되는 절대 URL의 재정의. 응답이 오류인 경우 이 메서드는 발생하지 않습니다. 예외를 발생하려면 반환된 응답 개체에서 raise_for_status() 를 호출합니다. 이 메서드를 사용하여 사용자 지정 요청을 보내는 방법에 대한 자세한 내용은 을 참조하세요 https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_analyze_document

지정된 문서에서 필드 텍스트 및 의미 체계 값을 분석합니다.

버전 2023-07-31의 새로운 기능: 인수를 키워드(keyword) 기능입니다.

begin_analyze_document(model_id: str, document: bytes | IO[bytes], **kwargs: Any) -> LROPoller[AnalyzeResult]

매개 변수

model_id
str
필수

고유한 모델 식별자를 문자열로 전달할 수 있습니다. 이를 사용하여 사용자 지정 모델 ID 또는 미리 빌드된 모델 ID를 지정합니다. 지원되는 미리 빌드된 모델 ID는 다음에서 찾을 수 있습니다. https://aka.ms/azsdk/formrecognizer/models

document
bytes 또는 IO[bytes]
필수

파일 스트림 또는 바이트. 서비스 지원 파일 형식은 을 참조하세요 https://aka.ms/azsdk/formrecognizer/supportedfiles.

pages
str

다중 페이지 문서에 대한 사용자 지정 페이지 번호(PDF/TIFF). 결과에서 가져올 페이지 번호 및/또는 페이지 범위를 입력합니다. 페이지 범위의 경우 pages="1-3, 5-6"와 같은 하이픈을 사용합니다. 각 페이지 번호 또는 범위를 쉼표로 구분합니다.

locale
str

입력 문서의 로캘 힌트입니다. 에서 지원되는 로캘을 https://aka.ms/azsdk/formrecognizer/supportedlocales참조하세요.

features
list[str]

사용할 문서 분석 기능입니다.

반환

LROPoller의 instance. 폴러 개체에서 result() 를 호출하여 를 반환합니다 AnalyzeResult.

반환 형식

예외

예제

청구서를 분석합니다. 자세한 샘플은 samples 폴더를 참조하세요.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_documents, "rb") as f:
       poller = document_analysis_client.begin_analyze_document(
           "prebuilt-invoice", document=f, locale="en-US"
       )
   invoices = poller.result()

   for idx, invoice in enumerate(invoices.documents):
       print(f"--------Analyzing invoice #{idx + 1}--------")
       vendor_name = invoice.fields.get("VendorName")
       if vendor_name:
           print(
               f"Vendor Name: {vendor_name.value} has confidence: {vendor_name.confidence}"
           )
       vendor_address = invoice.fields.get("VendorAddress")
       if vendor_address:
           print(
               f"Vendor Address: {vendor_address.value} has confidence: {vendor_address.confidence}"
           )
       vendor_address_recipient = invoice.fields.get("VendorAddressRecipient")
       if vendor_address_recipient:
           print(
               f"Vendor Address Recipient: {vendor_address_recipient.value} has confidence: {vendor_address_recipient.confidence}"
           )
       customer_name = invoice.fields.get("CustomerName")
       if customer_name:
           print(
               f"Customer Name: {customer_name.value} has confidence: {customer_name.confidence}"
           )
       customer_id = invoice.fields.get("CustomerId")
       if customer_id:
           print(
               f"Customer Id: {customer_id.value} has confidence: {customer_id.confidence}"
           )
       customer_address = invoice.fields.get("CustomerAddress")
       if customer_address:
           print(
               f"Customer Address: {customer_address.value} has confidence: {customer_address.confidence}"
           )
       customer_address_recipient = invoice.fields.get("CustomerAddressRecipient")
       if customer_address_recipient:
           print(
               f"Customer Address Recipient: {customer_address_recipient.value} has confidence: {customer_address_recipient.confidence}"
           )
       invoice_id = invoice.fields.get("InvoiceId")
       if invoice_id:
           print(
               f"Invoice Id: {invoice_id.value} has confidence: {invoice_id.confidence}"
           )
       invoice_date = invoice.fields.get("InvoiceDate")
       if invoice_date:
           print(
               f"Invoice Date: {invoice_date.value} has confidence: {invoice_date.confidence}"
           )
       invoice_total = invoice.fields.get("InvoiceTotal")
       if invoice_total:
           print(
               f"Invoice Total: {invoice_total.value} has confidence: {invoice_total.confidence}"
           )
       due_date = invoice.fields.get("DueDate")
       if due_date:
           print(f"Due Date: {due_date.value} has confidence: {due_date.confidence}")
       purchase_order = invoice.fields.get("PurchaseOrder")
       if purchase_order:
           print(
               f"Purchase Order: {purchase_order.value} has confidence: {purchase_order.confidence}"
           )
       billing_address = invoice.fields.get("BillingAddress")
       if billing_address:
           print(
               f"Billing Address: {billing_address.value} has confidence: {billing_address.confidence}"
           )
       billing_address_recipient = invoice.fields.get("BillingAddressRecipient")
       if billing_address_recipient:
           print(
               f"Billing Address Recipient: {billing_address_recipient.value} has confidence: {billing_address_recipient.confidence}"
           )
       shipping_address = invoice.fields.get("ShippingAddress")
       if shipping_address:
           print(
               f"Shipping Address: {shipping_address.value} has confidence: {shipping_address.confidence}"
           )
       shipping_address_recipient = invoice.fields.get("ShippingAddressRecipient")
       if shipping_address_recipient:
           print(
               f"Shipping Address Recipient: {shipping_address_recipient.value} has confidence: {shipping_address_recipient.confidence}"
           )
       print("Invoice items:")
       for idx, item in enumerate(invoice.fields.get("Items").value):
           print(f"...Item #{idx + 1}")
           item_description = item.value.get("Description")
           if item_description:
               print(
                   f"......Description: {item_description.value} has confidence: {item_description.confidence}"
               )
           item_quantity = item.value.get("Quantity")
           if item_quantity:
               print(
                   f"......Quantity: {item_quantity.value} has confidence: {item_quantity.confidence}"
               )
           unit = item.value.get("Unit")
           if unit:
               print(f"......Unit: {unit.value} has confidence: {unit.confidence}")
           unit_price = item.value.get("UnitPrice")
           if unit_price:
               unit_price_code = unit_price.value.code if unit_price.value.code else ""
               print(
                   f"......Unit Price: {unit_price.value}{unit_price_code} has confidence: {unit_price.confidence}"
               )
           product_code = item.value.get("ProductCode")
           if product_code:
               print(
                   f"......Product Code: {product_code.value} has confidence: {product_code.confidence}"
               )
           item_date = item.value.get("Date")
           if item_date:
               print(
                   f"......Date: {item_date.value} has confidence: {item_date.confidence}"
               )
           tax = item.value.get("Tax")
           if tax:
               print(f"......Tax: {tax.value} has confidence: {tax.confidence}")
           amount = item.value.get("Amount")
           if amount:
               print(
                   f"......Amount: {amount.value} has confidence: {amount.confidence}"
               )
       subtotal = invoice.fields.get("SubTotal")
       if subtotal:
           print(f"Subtotal: {subtotal.value} has confidence: {subtotal.confidence}")
       total_tax = invoice.fields.get("TotalTax")
       if total_tax:
           print(
               f"Total Tax: {total_tax.value} has confidence: {total_tax.confidence}"
           )
       previous_unpaid_balance = invoice.fields.get("PreviousUnpaidBalance")
       if previous_unpaid_balance:
           print(
               f"Previous Unpaid Balance: {previous_unpaid_balance.value} has confidence: {previous_unpaid_balance.confidence}"
           )
       amount_due = invoice.fields.get("AmountDue")
       if amount_due:
           print(
               f"Amount Due: {amount_due.value} has confidence: {amount_due.confidence}"
           )
       service_start_date = invoice.fields.get("ServiceStartDate")
       if service_start_date:
           print(
               f"Service Start Date: {service_start_date.value} has confidence: {service_start_date.confidence}"
           )
       service_end_date = invoice.fields.get("ServiceEndDate")
       if service_end_date:
           print(
               f"Service End Date: {service_end_date.value} has confidence: {service_end_date.confidence}"
           )
       service_address = invoice.fields.get("ServiceAddress")
       if service_address:
           print(
               f"Service Address: {service_address.value} has confidence: {service_address.confidence}"
           )
       service_address_recipient = invoice.fields.get("ServiceAddressRecipient")
       if service_address_recipient:
           print(
               f"Service Address Recipient: {service_address_recipient.value} has confidence: {service_address_recipient.confidence}"
           )
       remittance_address = invoice.fields.get("RemittanceAddress")
       if remittance_address:
           print(
               f"Remittance Address: {remittance_address.value} has confidence: {remittance_address.confidence}"
           )
       remittance_address_recipient = invoice.fields.get("RemittanceAddressRecipient")
       if remittance_address_recipient:
           print(
               f"Remittance Address Recipient: {remittance_address_recipient.value} has confidence: {remittance_address_recipient.confidence}"
           )

사용자 지정 문서를 분석합니다. 자세한 샘플은 samples 폴더를 참조하세요.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   model_id = os.getenv("CUSTOM_BUILT_MODEL_ID", custom_model_id)

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )

   # Make sure your document's type is included in the list of document types the custom model can analyze
   with open(path_to_sample_documents, "rb") as f:
       poller = document_analysis_client.begin_analyze_document(
           model_id=model_id, document=f
       )
   result = poller.result()

   for idx, document in enumerate(result.documents):
       print(f"--------Analyzing document #{idx + 1}--------")
       print(f"Document has type {document.doc_type}")
       print(f"Document has document type confidence {document.confidence}")
       print(f"Document was analyzed with model with ID {result.model_id}")
       for name, field in document.fields.items():
           field_value = field.value if field.value else field.content
           print(
               f"......found field of type '{field.value_type}' with value '{field_value}' and with confidence {field.confidence}"
           )

   # iterate over tables, lines, and selection marks on each page
   for page in result.pages:
       print(f"\nLines found on page {page.page_number}")
       for line in page.lines:
           print(f"...Line '{line.content}'")
       for word in page.words:
           print(f"...Word '{word.content}' has a confidence of {word.confidence}")
       if page.selection_marks:
           print(f"\nSelection marks found on page {page.page_number}")
           for selection_mark in page.selection_marks:
               print(
                   f"...Selection mark is '{selection_mark.state}' and has a confidence of {selection_mark.confidence}"
               )

   for i, table in enumerate(result.tables):
       print(f"\nTable {i + 1} can be found on page:")
       for region in table.bounding_regions:
           print(f"...{region.page_number}")
       for cell in table.cells:
           print(
               f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
           )
   print("-----------------------------------")

begin_analyze_document_from_url

지정된 문서에서 필드 텍스트 및 의미 체계 값을 분석합니다. 입력은 분석할 문서의 위치(URL)여야 합니다.

버전 2023-07-31의 새로운 기능: 인수를 키워드(keyword) 기능입니다.

begin_analyze_document_from_url(model_id: str, document_url: str, **kwargs: Any) -> LROPoller[AnalyzeResult]

매개 변수

model_id
str
필수

고유한 모델 식별자를 문자열로 전달할 수 있습니다. 이를 사용하여 사용자 지정 모델 ID 또는 미리 빌드된 모델 ID를 지정합니다. 지원되는 미리 빌드된 모델 ID는 다음에서 찾을 수 있습니다. https://aka.ms/azsdk/formrecognizer/models

document_url
str
필수

분석할 문서의 URL입니다. 입력은 유효하고 적절하게 인코딩된(예: 빈 공백과 같은 특수 문자 인코딩) 및 공개적으로 액세스할 수 있는 URL이어야 합니다. 서비스 지원 파일 형식은 을 참조하세요 https://aka.ms/azsdk/formrecognizer/supportedfiles.

pages
str

다중 페이지 문서에 대한 사용자 지정 페이지 번호(PDF/TIFF). 결과에서 가져올 페이지 번호 및/또는 페이지 범위를 입력합니다. 페이지 범위의 경우 pages="1-3, 5-6"와 같은 하이픈을 사용합니다. 각 페이지 번호 또는 범위를 쉼표로 구분합니다.

locale
str

입력 문서의 로캘 힌트입니다. 에서 지원되는 로캘을 https://aka.ms/azsdk/formrecognizer/supportedlocales참조하세요.

features
list[str]

사용할 문서 분석 기능입니다.

반환

LROPoller의 instance. 폴러 개체에서 result() 를 호출하여 를 반환합니다 AnalyzeResult.

반환 형식

예외

예제

영수증을 분석합니다. 자세한 샘플은 samples 폴더를 참조하세요.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   url = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/azure-ai-formrecognizer/tests/sample_forms/receipt/contoso-receipt.png"
   poller = document_analysis_client.begin_analyze_document_from_url(
       "prebuilt-receipt", document_url=url
   )
   receipts = poller.result()

   for idx, receipt in enumerate(receipts.documents):
       print(f"--------Analysis of receipt #{idx + 1}--------")
       print(f"Receipt type: {receipt.doc_type if receipt.doc_type else 'N/A'}")
       merchant_name = receipt.fields.get("MerchantName")
       if merchant_name:
           print(
               f"Merchant Name: {merchant_name.value} has confidence: "
               f"{merchant_name.confidence}"
           )
       transaction_date = receipt.fields.get("TransactionDate")
       if transaction_date:
           print(
               f"Transaction Date: {transaction_date.value} has confidence: "
               f"{transaction_date.confidence}"
           )
       if receipt.fields.get("Items"):
           print("Receipt items:")
           for idx, item in enumerate(receipt.fields.get("Items").value):
               print(f"...Item #{idx + 1}")
               item_description = item.value.get("Description")
               if item_description:
                   print(
                       f"......Item Description: {item_description.value} has confidence: "
                       f"{item_description.confidence}"
                   )
               item_quantity = item.value.get("Quantity")
               if item_quantity:
                   print(
                       f"......Item Quantity: {item_quantity.value} has confidence: "
                       f"{item_quantity.confidence}"
                   )
               item_price = item.value.get("Price")
               if item_price:
                   print(
                       f"......Individual Item Price: {item_price.value} has confidence: "
                       f"{item_price.confidence}"
                   )
               item_total_price = item.value.get("TotalPrice")
               if item_total_price:
                   print(
                       f"......Total Item Price: {item_total_price.value} has confidence: "
                       f"{item_total_price.confidence}"
                   )
       subtotal = receipt.fields.get("Subtotal")
       if subtotal:
           print(f"Subtotal: {subtotal.value} has confidence: {subtotal.confidence}")
       tax = receipt.fields.get("TotalTax")
       if tax:
           print(f"Total tax: {tax.value} has confidence: {tax.confidence}")
       tip = receipt.fields.get("Tip")
       if tip:
           print(f"Tip: {tip.value} has confidence: {tip.confidence}")
       total = receipt.fields.get("Total")
       if total:
           print(f"Total: {total.value} has confidence: {total.confidence}")
       print("--------------------------------------")

begin_classify_document

문서 분류자를 사용하여 문서를 분류합니다. 사용자 지정 분류자 모델을 빌드하는 방법에 대한 자세한 내용은 를 참조하세요 https://aka.ms/azsdk/formrecognizer/buildclassifiermodel.

버전 2023-07-31의 새로운 기능: begin_classify_document 클라이언트 메서드입니다.

begin_classify_document(classifier_id: str, document: bytes | IO[bytes], **kwargs: Any) -> LROPoller[AnalyzeResult]

매개 변수

classifier_id
str
필수

고유한 문서 분류자 식별자를 문자열로 전달할 수 있습니다.

document
bytes 또는 IO[bytes]
필수

파일 스트림 또는 바이트. 서비스 지원 파일 형식은 을 참조하세요 https://aka.ms/azsdk/formrecognizer/supportedfiles.

반환

LROPoller의 instance. 폴러 개체에서 result() 를 호출하여 를 반환합니다 AnalyzeResult.

반환 형식

예외

예제

문서를 분류합니다. 자세한 샘플은 samples 폴더를 참조하세요.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   classifier_id = os.getenv("CLASSIFIER_ID", classifier_id)

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_documents, "rb") as f:
       poller = document_analysis_client.begin_classify_document(
           classifier_id, document=f
       )
   result = poller.result()

   print("----Classified documents----")
   for doc in result.documents:
       print(
           f"Found document of type '{doc.doc_type or 'N/A'}' with a confidence of {doc.confidence} contained on "
           f"the following pages: {[region.page_number for region in doc.bounding_regions]}"
       )

begin_classify_document_from_url

문서 분류자를 사용하여 지정된 문서를 분류합니다. 사용자 지정 분류자 모델을 빌드하는 방법에 대한 자세한 내용은 를 참조하세요 https://aka.ms/azsdk/formrecognizer/buildclassifiermodel. 입력은 분류할 문서의 위치(URL)여야 합니다.

버전 2023-07-31의 새로운 기능: begin_classify_document_from_url 클라이언트 메서드입니다.

begin_classify_document_from_url(classifier_id: str, document_url: str, **kwargs: Any) -> LROPoller[AnalyzeResult]

매개 변수

classifier_id
str
필수

고유한 문서 분류자 식별자를 문자열로 전달할 수 있습니다.

document_url
str
필수

분류할 문서의 URL입니다. 입력은 유효하고 적절하게 인코딩된(예: 빈 공백과 같은 특수 문자 인코딩) 및 지원되는 형식 중 하나의 공개적으로 액세스할 수 있는 URL이어야 합니다. https://aka.ms/azsdk/formrecognizer/supportedfiles

반환

LROPoller의 instance. 폴러 개체에서 result() 를 호출하여 를 반환합니다 AnalyzeResult.

반환 형식

예외

예제

문서를 분류합니다. 자세한 샘플은 samples 폴더를 참조하세요.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   classifier_id = os.getenv("CLASSIFIER_ID", classifier_id)

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )

   url = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/azure-ai-formrecognizer/tests/sample_forms/forms/IRS-1040.pdf"

   poller = document_analysis_client.begin_classify_document_from_url(
       classifier_id, document_url=url
   )
   result = poller.result()

   print("----Classified documents----")
   for doc in result.documents:
       print(
           f"Found document of type '{doc.doc_type or 'N/A'}' with a confidence of {doc.confidence} contained on "
           f"the following pages: {[region.page_number for region in doc.bounding_regions]}"
       )

close

세션을 닫습니다 DocumentAnalysisClient .

close() -> None

예외

send_request

클라이언트의 기존 파이프라인을 사용하여 네트워크 요청을 실행합니다.

요청 URL은 기본 URL을 기준으로 할 수 있습니다. 요청에 사용되는 서비스 API 버전은 달리 지정하지 않는 한 클라이언트의 버전과 동일합니다. 상대 URL에서 클라이언트의 구성된 API 버전을 재정의하는 것은 API 버전 2022-08-31 이상을 사용하는 클라이언트에서 지원됩니다. 모든 API 버전으로 클라이언트에서 지원되는 절대 URL의 재정의. 응답이 오류인 경우 이 메서드는 발생하지 않습니다. 예외를 발생하려면 반환된 응답 개체에서 raise_for_status() 를 호출합니다. 이 메서드를 사용하여 사용자 지정 요청을 보내는 방법에 대한 자세한 내용은 을 참조하세요 https://aka.ms/azsdk/dpcodegen/python/send_request.

send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse

매개 변수

request
HttpRequest
필수

만들려는 네트워크 요청입니다.

stream
bool

응답 페이로드가 스트리밍될지 여부입니다. 기본값은 False입니다.

반환

네트워크 호출의 응답입니다. 응답에 대한 오류 처리는 수행하지 않습니다.

반환 형식

예외