我正试图遵循此文档了解表单识别器API, 特别是确认收据的示例:
https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/quickstarts/client-library?pivots=programming-language-python&tabs=windows
我正在尝试以下代码:
import sys
import logging
from azure.ai.formrecognizer import FormRecognizerClient
from azure.core.credentials import AzureKeyCredential
import os
import azure.ai.formrecognizer
endpoint = r"https://form-recognizer-XXXXX-test.cognitiveservices.azure.com/"
form_recognizer_client = FormRecognizerClient(endpoint=endpoint, credential="XXXXXXXXX")
receiptUrl = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/master/sdk/formrecognizer/azure-ai-formrecognizer/tests/sample_forms/receipt/contoso-receipt.png"
poller = form_recognizer_client.begin_recognize_receipts_from_url(receiptUrl)
receipts = poller.result()
得到这个错误:
request.http_request.headers[self._name] = self._credential.key
AttributeError: 'str' object has no attribute 'key'
我看到的区别是,在示例中,端点和键被称为类的属性:
form_recognizer_client = FormRecognizerClient(endpoint=self.endpoint, credential=AzureKeyCredential(self.key))
但我不知道“self.”从何而来,也不知道该值如何不是字符串
我同意quickstart中有点不清楚该密钥来自何处。在本例中,API键被设置为类变量(self来自于类变量),但您不需要这样做来让代码正常工作
要成功进行身份验证,字符串API密钥“XXXXXXXXX”必须包装在凭证类AzureKeyCredential中。我已在下面更新了您的代码以执行此操作,请让我知道它是否适用于您:
相关问题 更多 >
编程相关推荐