Method: files.asyncBatchAnnotate

Ejecuta la detección y la anotación de imágenes asíncronas en una lista de archivos genéricos, como archivos PDF, que pueden contener varias páginas y varias imágenes por página. El progreso y los resultados se pueden consultar a través de la interfaz google.longrunning.Operations. Operation.metadata contiene OperationMetadata (metadatos). Operation.response contiene AsyncBatchAnnotateFilesResponse (resultados).

Solicitud HTTP

POST https://vision.googleapis.com/v1p3beta1/files:asyncBatchAnnotate

La URL utiliza la sintaxis de transcodificación a gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos que presentan la siguiente estructura:

Representación JSON
{
  "requests": [
    {
      object(AsyncAnnotateFileRequest)
    }
  ]
}
Campos
requests[]

object(AsyncAnnotateFileRequest)

Solicitudes individuales de anotación de archivos asíncronas de este lote.

Cuerpo de la respuesta

Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation.

Permisos de autorización

Debes disponer de uno de los siguientes permisos de OAuth:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-vision

Para obtener más información, consulta el artículo Descripción general de la autenticación.

AsyncAnnotateFileRequest

Una solicitud de anotación de archivos sin conexión.

Representación JSON
{
  "inputConfig": {
    object(InputConfig)
  },
  "features": [
    {
      object(Feature)
    }
  ],
  "imageContext": {
    object(ImageContext)
  },
  "outputConfig": {
    object(OutputConfig)
  }
}
Campos
inputConfig

object(InputConfig)

Obligatorio. Información sobre el archivo de entrada.

features[]

object(Feature)

Obligatorio. Funciones solicitadas.

imageContext

object(ImageContext)

Contexto adicional que puede acompañar a las imágenes del archivo.

outputConfig

object(OutputConfig)

Obligatorio. La ubicación de salida y los metadatos que quieras (por ejemplo, el formato).

InputConfig

La ubicación de entrada y los metadatos que quieras.

Representación JSON
{
  "gcsSource": {
    object(GcsSource)
  },
  "mimeType": string
}
Campos
gcsSource

object(GcsSource)

Ubicación de Google Cloud Storage desde la que se leerá la entrada.

mimeType

string

El tipo de archivo. Actualmente, solo se admiten los tipos "application/pdf" e "image/tiff". No se admiten comodines.

GcsSource

Ubicación de Google Cloud Storage desde la que se leerá la entrada.

Representación JSON
{
  "uri": string
}
Campos
uri

string

URI de Google Cloud Storage del archivo de entrada. Solo puede ser un objeto de Google Cloud Storage. Actualmente no se admiten comodines.

OutputConfig

La ubicación de salida y los metadatos que quieras.

Representación JSON
{
  "gcsDestination": {
    object(GcsDestination)
  },
  "batchSize": number
}
Campos
gcsDestination

object(GcsDestination)

Ubicación de Google Cloud Storage en la que se escribirán los resultados.

batchSize

number

Número máximo de protos de respuesta que se pueden incluir en cada archivo JSON de salida de Google Cloud Storage. El intervalo válido es [1, 100]. Si no se especifica, el valor predeterminado es 20.

Por ejemplo, en el caso de un archivo PDF de 100 páginas, se generarán 100 protos de respuesta. Si batchSize = 20, se escribirán 5 archivos JSON, cada uno de ellos con 20 protos de respuesta, con el prefijo gcsDestination.uri.

Actualmente, batchSize solo se aplica a GcsDestination, pero es posible que en el futuro se admita en otras configuraciones de salida.

GcsDestination

Ubicación de Google Cloud Storage en la que se escribirá la salida.

Representación JSON
{
  "uri": string
}
Campos
uri

string

URI de Google Cloud Storage donde se almacenarán los resultados. Los resultados estarán en formato JSON y precedidos por el URI de entrada correspondiente. Este campo puede representar un solo archivo o un prefijo para varias salidas. Los prefijos deben terminar en /.

Ejemplos:

Si hay varias salidas, cada respuesta sigue siendo AnnotateFileResponse, y cada una de ellas contiene un subconjunto de la lista completa de AnnotateImageResponse. Esto puede ocurrir si, por ejemplo, el JSON de salida es demasiado grande y se desborda en varios archivos fragmentados.