我正在尝试使用Google Cloud Vision API。
我在此link中使用REST API。
POST https://vision.googleapis.com/v1/files:asyncBatchAnnotate
我的要求是
{
"requests": [
{
"inputConfig": {
"gcsSource": {
"uri": "gs://redaction-vision/pdf_page1_employment_request.pdf"
},
"mimeType": "application/pdf"
},
"features": [
{
"type": "DOCUMENT_TEXT_DETECTION"
}
],
"outputConfig": {
"gcsDestination": {
"uri": "gs://redaction-vision"
}
}
}
]
}
但是响应始终是唯一的“名称”,如下所示:
{
"name": "operations/a7e4e40d1e1ac4c5"
}
我的“ gs”位置有效。 当我在“ gcsSource”中输入错误的路径时,出现404 not found错误。 谁知道为什么我的回答很奇怪?
答案 0 :(得分:1)
这是预期的,它将不会将输出作为HTTP响应发送给您。要查看API的功能,您需要转到目标存储区并检查名为“ xxxxxxxxoutput-1-to-1.json”的文件,此外,还需要在gcsDestination部分中指定对象的名称,以便例如:gs://redaction-vision/test
。
答案 1 :(得分:1)
由于asyncBatchAnnotate是异步操作,因此它不会返回结果,而是返回操作的名称。您可以使用该唯一名称来调用GetOperation来检查操作状态。
请注意,如果pdf的页面数多于batchSize,并且输出json文件名根据页面数而变化,则pdf可能有多个输出文件。始终附加“ output-1-to-1.json”是不安全的。
请确保您在输出配置中放置的uri前缀是唯一的,因为您必须在gcs上对提供的前缀进行通配符搜索,以获取所有已创建的json文件。