Compartir a través de


Iniciar traducción por lotes

Referencia
Característica: Azure Translator → Versión de la API de traducción de documentos (GA): 2024-05-01
API (versión preliminar): 2025-12-01-preview, agrega compatibilidad con la traducción
de archivos de imagen.
Método HTTP: POST

  • Use el Start Translation método para ejecutar una solicitud de traducción por lotes asincrónica.
  • El método requiere una cuenta de Azure Blob Storage con contenedores de almacenamiento para los documentos de origen y traducidos.

URL de la solicitud

Importante

Todas las solicitudes de API a la característica traducción de documentos requieren un punto de conexión de dominio personalizado que se encuentra en la página de información general de recursos de Azure Portal.

  curl -i -X POST "{document-translation-endpoint}/translator/document/batches?api-version={date}"

Encabezados de solicitud

Los encabezados de solicitud son:

encabezados Descripción Condición
Ocp-Apim-Subscription-Key La clave de Translator API desde Azure Portal. Obligatorio
Ocp-Apim-Subscription-Region La región donde se creó el recurso. Se requiere cuando se usa un recurso regional (geográfico) como Oeste de EE. UU.
&viñeta.
Tipo de contenido En este encabezado se especifica el tipo de contenido de la carga. Los valores que se aceptan son application/json o charset=UTF-8. Obligatorio

BatchRequest (cuerpo)

  • Cada solicitud puede contener varios documentos y debe contener un contenedor de origen y otro de destino para cada documento. Tipos de medios de origen: application/json, text/json, application/*+json.

  • El filtro de prefijo y sufijo (si se proporcionan) se usan para filtrar carpetas. El prefijo se aplica a la subruta después del nombre del contenedor.

  • Los glosarios se pueden incluir en la solicitud. Si el glosario no es válido o no se puede acceder a él durante la traducción, se indica un error en el estado del documento.

  • Si ya existe un archivo con el mismo nombre en el destino de destino, se produce un error en el trabajo.

  • El valor de targetUrl para cada idioma de destino debe ser único.


{
  "inputs": [
    {
      "source": {
        "sourceUrl": "https://myblob.blob.core.windows.net/Container/",
        "filter": {
          "prefix": "FolderA",
          "suffix": ".txt"
        },
        "language": "en",
        "storageSource": "AzureBlob"
      },
      "targets": [
        {
          "targetUrl": "https://myblob.blob.core.windows.net/TargetUrl/",
          "category": "general",
          "language": "fr",
          "glossaries": [
            {
              "glossaryUrl": "https://myblob.blob.core.windows.net/Container/myglossary.xlf",
              "format": "XLIFF",
              "version": "2.0",
              "storageSource": "AzureBlob"
            }
          ],
          "storageSource": "AzureBlob"
        }
      ],
      "storageType": "Folder"
    }
  ],
}

Entradas

Definición para la solicitud de traducción por lotes de entrada.

Parámetro de clave Tipo Obligatorio Parámetros de solicitud Descripción
Entradas array Cierto • origen (objeto)

• destinos (matriz)

• storageType (cadena)
Datos de origen de entrada.

inputs.source

Definición de los datos de origen.

Parámetro de clave Tipo Obligatorio Parámetros de solicitud Descripción
inputs.source object Cierto • sourceUrl (cadena)

• filtro(objeto)

• idioma(cadena)

• storageSource (cadena)
Datos de origen para documentos de entrada.
inputs.source.sourceUrl string Cierto •cuerda Ubicación del contenedor para el archivo o la carpeta de origen.
inputs.source.filter object Falso • prefijo (cadena)

• sufijo (cadena)
Cadenas que distinguen mayúsculas de minúsculas para filtrar documentos en la ruta de acceso de origen.
inputs.source.filter.prefix string Falso •cuerda Una cadena de prefijo que distingue entre mayúsculas y minúsculas para filtrar los documentos en la ruta de origen para su traducción. A menudo se usa para designar subcarpetas para la traducción. Ejemplo: "CarpetaA".
inputs.source.filter.suffix string Falso •cuerda Una cadena de sufijo que distingue entre mayúsculas y minúsculas para filtrar los documentos en la ruta de origen para su traducción. Se utiliza principalmente para las extensiones de archivo. Por ejemplo: ".txt"
inputs.source.language string Falso •cuerda El código de idioma de los documentos traducidos. Si no se especifica, se implementa la detección automática.
inputs.source.storageSource string Falso •cuerda Origen de almacenamiento para entradas. Tiene como valor predeterminado AzureBlob.

inputs.targets

Definición de los datos de destino y glosarios.

Parámetro de clave Tipo Obligatorio Parámetros de solicitud Descripción
inputs.targets array Cierto • targetUrl (cadena)

• categoría (cadena)

• idioma (cadena)

• glosarios (matriz)

• storageSource (cadena)
Destinos y datos de glosarios para documentos traducidos.
inputs.targets.targetUrl string Cierto •cuerda Ubicación de la ubicación del contenedor para los documentos traducidos.
inputs.targets.category string Falso •cuerda Clasificación o categoría para la solicitud de traducción. Ejemplo: general.
inputs.targets.language string Cierto •cuerda Código del idioma de destino. Ejemplo: "fr".
inputs.targets.glosarios array Falso • glossaryUrl (cadena)

• formato (cadena)

• versión (cadena)

• storageSource (cadena)
ConsulteCreación y uso de glosarios
inputs.targets.glosarioies.glosarioyUrl string Verdadero (si se usan glosarios). •cuerda Ubicación del glosario. Usaremos la extensión de archivo para extraer el formato si no se proporciona el parámetro de formato. Si el par de idiomas de traducción no está presente en el glosario, no se aplica.
inputs.targets.glosarioies.format string Falso •cuerda Formato de archivo especificado para el glosario. Para comprobar si se admite el formato de archivo, consulteObtención de formatos de glosario admitidos.
inputs.targets.glosarioies.version string Falso •cuerda Indicador de versión. Ejemplo: “2.0”.
inputs.targets.glosarioies.storageSource string Falso •cuerda Origen de almacenamiento para glosarios. Tiene como valor predeterminado _AzureBlob_.
inputs.targets.storageSource string Falso •cuerda Origen de almacenamiento para targets.defaults en _AzureBlob_.

inputs.storageType

Definición de la entidad de almacenamiento para los documentos de entrada.

Parámetro de clave Tipo Obligatorio Parámetros de solicitud Descripción
inputs.storageType string Falso Folder

File
Tipo de almacenamiento de la cadena de origen de los documentos de entrada. Solo "Folder" o "File" son valores válidos.

Opciones

Definición para la solicitud de traducción por lotes de entrada.

Parámetro de clave Tipo Obligatorio Parámetros de solicitud Descripción
Opciones object Falso Información de origen de los documentos de entrada.
options.experimental boolean Falso true

false
Indica si la solicitud incluye una característica experimental (si procede). Solo los valores booleanos true o false son valores válidos.

Solicitud de ejemplo

Los siguientes son ejemplos de solicitudes por lotes.

Nota

En los ejemplos siguientes, se concede acceso limitado al contenido de un contenedor de Azure Storage mediante un token de firma de acceso compartido (SAS ).

Traducción de todos los documentos de un contenedor

{
    "inputs": [
        {
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en?{SAS-token-query-string}"
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target-fr?{SAS-token-query-string}",
                    "language": "fr"
                }
            ]
        }
    ]
}

Traducción de un documento específico de un contenedor

  • Especifique "storageType": File.
  • Cree la dirección URL de origen y el token de SAS para el blob o documento específicos.
  • Asegúrese de haber especificado el nombre del archivo de destino como parte de la dirección URL de destino, aunque el token de SAS sigue siendo para el contenedor.

Esta solicitud de ejemplo muestra un único documento traducido a dos idiomas de destino.

{
    "inputs": [
        {
            "storageType": "File",
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en/source-english.docx?{SAS-token-query-string}"
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target/try/Target-Spanish.docx?{SAS-token-query-string}",
                    "language": "es"
                },
                {
                    "targetUrl": "https://my.blob.core.windows.net/target/try/Target-German.docx?{SAS-token-query-string}",
                    "language": "de"
                }
            ]
        }
    ]
}

Sugerencia

Este método devuelve el parámetro job id para las cadenas de consulta de consulta get-translation-status, get-documents-status, get-document-status y cancel-translation request.

  • Puede encontrar el valor de id del trabajo en el valor de la dirección URL start-batch-translation del encabezado de respuesta del método POST Operation-Location. La cadena alfanumérica que sigue al parámetro /document/ es el trabajo de la operación id:

    Encabezado de respuesta Dirección URL de respuesta
    Ubicación de la Operación {document-translation-endpoint}/translator/document/9dce0aa9-78dc-41ba-8cae-2e2f3c2ff8ec?api-version=2024-05-01
  • También puede usar una solicitud get-translations-status para recuperar una lista de trabajos de traducción y sus ids.

Traducción de todos los documentos de un contenedor que aplica glosarios

{
    "inputs": [
        {
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en?{SAS-token-query-string}"
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target-fr?{SAS-token-query-string}",
                    "language": "fr",
                    "glossaries": [
                        {
                            "glossaryUrl": "https://my.blob.core.windows.net/glossaries/en-fr.xlf?{SAS-token-query-string}",
                            "format": "xliff",
                            "version": "1.2"
                        }
                    ]

                }
            ]
        }
    ]
}

Traducción de una carpeta específica en un contenedor

Asegúrese de especificar el nombre de carpeta (distingue mayúsculas de minúsculas) como prefijo en el filtro.

{
    "inputs": [
        {
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en?{SAS-token-query-string}",
                "filter": {
                    "prefix": "MyFolder/"
                }
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target-fr?{SAS-token-query-string}",
                    "language": "fr"
                }
            ]
        }
    ]
}

Traducción de archivos de imagen

Importante

La característica de traducción de imágenes de traducción de documentos es una "versión preliminar" con licencia para usted como parte de la suscripción de Azure. Esta versión está sujeta a los términos aplicables a las "versiones preliminares" en los Términos de uso complementarios para las versiones preliminares de Microsoft Azure y el anexo de protección de datos de productos y servicios de Microsoft (DPA).

Configuración de solicitudes (archivos de imagen)

Para la traducción de archivos de imagen, envíe la imagen a través de una llamada a la API REST de traducción de documentos por lotes estándar, especificando la versión de API 2025-12-01-preview. No es necesario realizar ninguna otra configuración.

Formatos admitidos (archivos de imagen)

Extensión de archivo Descripción
.bmp Formato de archivo de imagen de mapa de bits usado para almacenar imágenes digitales en un formulario sin comprimir, conservando los detalles visuales de alta calidad.
.jpeg Un archivo de imagen de Joint Photographic Experts Group que usa un método de compresión de pérdida para reducir el tamaño del archivo. Este formato no admite fondos transparentes.
.png Un archivo Portable Network Graphics que usa compresión sin pérdida, admite transparencia y puede mostrar hasta 16 millones de colores.
.webp Un formato de imagen web que usa métodos de compresión de imágenes sin pérdida y pérdida para minimizar el tamaño del archivo y conservar la alta calidad de la imagen.

Idiomas admitidos (archivos de imagen)

Para obtener más información sobre los idiomas admitidos, consulteCompatibilidad con idiomas de traducción de documentos.

Códigos de estado de respuesta

A continuación se indican los códigos de estado HTTP posibles que devuelve una solicitud.

Código de estado Descripción
202 Aceptado. Solicitud aceptada y solicitud de lote creada. La cabecera Operation-Location indica una url de estado con el ID de la operación.HeadersOperation-Location: string
400 Solicitud incorrecta. Solicitud no válida. Compruebe los parámetros de entrada.
401 No autorizado. Compruebe sus credenciales.
429 La tasa de solicitudes es demasiado alta.
500 Error interno del servidor.
503 El servicio no está disponible en este momento. Vuelva a intentarlo más tarde.
Otros códigos de estado • Demasiadas solicitudes. El servidor no está disponible temporalmente

Respuesta de error

Parámetro de clave Tipo Descripción
código string Enumeraciones que contiene códigos de error de alto nivel. Valores aceptados:</br/>• InternalServerError
• InvalidArgument
• InvalidRequest
• RequestRateTooHigh
• ResourceNotFound
• ServiceUnavailable
• No autorizado
Mensaje string Obtiene un mensaje de error de alto nivel.
innerError InnerTranslationError Nuevo formato de error interno que se ajusta a las directrices de la API de Foundry Tools. Este mensaje de error contiene las propiedades necesarias: ErrorCode, message y propiedades opcionales de destino, details(key value pair) y inner error(it can be nested).
interior. Código de error string Obtiene la cadena de error de código.
innerError.message string Obtiene un mensaje de error de alto nivel.
innerError.target string Obtiene el origen del error. Por ejemplo, sería documents o document id si el documento no es válido.

Respuesta de error de ejemplo

{
  "error": {
    "code": "ServiceUnavailable",
    "message": "Service is temporary unavailable",
    "innerError": {
      "code": "ServiceTemporaryUnavailable",
      "message": "Service is currently unavailable.  Please try again later"
    }
  }
}

Pasos siguientes

Siga nuestro inicio rápido para obtener más información sobre el uso de la traducción de documentos y la biblioteca cliente.