Google Cloud Vision Api仅返回“名称”

时间:2019-03-06 12:05:43

标签: google-cloud-platform google-cloud-vision vision-api

我正在尝试使用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错误。 谁知道为什么我的回答很奇怪?

2 个答案:

答案 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文件。