Я использую следующий код для запроса операции OCR в API облачного видения Google:
from google.cloud import vision
from google.cloud import storage
from google.protobuf import json_format
# Supported mime_types are: 'application/pdf' and 'image/tiff'
mime_type = 'application/pdf'
# How many pages should be grouped into each json output file.
batch_size = 2
client = vision.ImageAnnotatorClient()
feature = vision.types.Feature(
type=vision.enums.Feature.Type.DOCUMENT_TEXT_DETECTION)
gcs_source = vision.types.GcsSource(uri=gcs_source_uri)
input_config = vision.types.InputConfig(
gcs_source=gcs_source, mime_type=mime_type)
gcs_destination = vision.types.GcsDestination(uri=gcs_destination_uri)
output_config = vision.types.OutputConfig(
gcs_destination=gcs_destination, batch_size=batch_size)
async_request = vision.types.AsyncAnnotateFileRequest(
features=[feature], input_config=input_config,
output_config=output_config)
operation = client.async_batch_annotate_files(
requests=[async_request])
Когда я вызываю операцию AsyncAnnotateFileRequest
, я передаю объект GcsDestination
OutputConfig
. С этим объектом я говорю API записать результат в корзину GoogleCloudStorage. Интересно, можно ли вместо этого написать в PubSub? Я осмотрел документацию, но похоже, что это невозможно, так как в крайнем случае подумал спросить здесь. Может быть, я что-то упустил?
РЕДАКТИРОВАТЬ: Я изучаю синхронные запросы, где я могу запросить OCR, получить текст в качестве ответа, а затем написать в PubSub. Вот так:
request = vision.types.AnnotateFileReques(features=[feature], input_config=input_config)
response = vision_client.batch_annotate_files(requests=[request])
но я получаю AttributeError: module 'google.cloud.vision_v1.types' has no attribute 'AnnotateFileReques'
но от do c оно должно быть там. Предложения