Google 云视界 Api 仅 return "name"

Google Cloud Vision Api only return "name"

我正在尝试使用 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",如下所示:

{
    "name": "operations/a7e4e40d1e1ac4c5"
}

我的 "gs" 位置有效。 当我在"gcsSource"中写错路径时,404 not found 错误来了。 谁知道为什么我的反应很奇怪?

这是预料之中的,它不会将输出作为 HTTP 响应发送给您。要查看 API 做了什么,您需要转到目标存储桶并检查名为 "xxxxxxxxoutput-1-to-1.json" 的文件,此外,您还需要在 gcsDestination 部分中指定对象的名称,例如: gs://redaction-vision/test.

由于 asyncBatchAnnotate 是一个异步操作,它不会 return 结果,而是 return 操作的名称。您可以使用该唯一名称调用 GetOperation 来检查操作的状态。

请注意,如果 pdf 的页数多于 batchSize 并且输出 json 文件名会根据页数而变化,则 pdf 可能有 1 个以上的输出文件。总是附加 "output-1-to-1.json".

是不安全的

确保您在输出配置中输入的 uri 前缀是唯一的,因为您必须在 gcs 中对您提供的前缀进行通配符搜索,以获取所有已创建的 json 文件。