Запуск пакетного перевода
Справочная
функция. Azure AI Translator → ВЕРСИЯ API перевода
документов: 2024-05-01
HTTP: POST
Start Translation
Используйте метод для выполнения асинхронного запроса на пакетное преобразование.- Для этого метода требуется учетная запись хранения BLOB-объектов Azure с контейнерами хранения для исходных и переведенных документов.
Запросить URL-адрес
Внимание
Для всех запросов API к функции перевода документов требуется конечная точка личного домена, расположенная на странице обзора ресурсов в портал Azure.
curl -i -X POST "{document-translation-endpoint}/translator/document/batches?api-version={date}"
Заголовки запросов
Заголовки запроса.
Заголовки | Description | Условие |
---|---|---|
Ocp-Apim-Subscription-Key | Ключ API службы переводчика из портал Azure. | Обязательный |
Ocp-Apim-Subscription-Region | Регион, в котором был создан ресурс. | Требуется при использовании регионального (географического) ресурса, например западной части США. &маркер. |
Content-Type | Тип содержимого для полезных данных. Допустимые значения: application/json или charset=UTF-8. | Обязательный |
BatchRequest (body)
Каждый запрос может содержать несколько документов и должен содержать исходный и целевой контейнер для каждого документа. Типы исходных носителей:
application/json
,text/json
application/*+json
.Если задан фильтр по префиксу и суффиксу, он используется для соответствующей фильтрации папок. Префикс применяется к подпути после имени контейнера.
Глоссарии можно включить в запрос. Если глоссарий имеет недопустимый формат или недоступен во время перевода, в статусе документа будет отображаться ошибка.
Если файл с тем же именем уже существует в целевом месте назначения, задание завершается ошибкой.
Параметр targetUrl для каждого целевого языка должен быть уникальным.
{
"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"
}
],
}
Входные данные
Определение запроса на перевод входного пакета.
Параметр ключа | Тип | Обязательное поле | Параметры запроса | Description |
---|---|---|---|---|
Входы | array |
Истина | • источник (объект)• целевые объекты (массив) • storageType (string) |
Входные исходные данные. |
inputs.source
Определение исходных данных.
Параметр ключа | Тип | Обязательное поле | Параметры запроса | Description |
---|---|---|---|---|
inputs.source | object |
Истина | • sourceUrl (string)• filter (object) • language (string) • storageSource (string) |
Исходные данные для входных документов. |
inputs.source.sourceUrl | string |
Истина | •струна | Расположение контейнера для исходного файла или папки. |
inputs.source.filter | object |
False | • префикс (string) • суффикс (строка) |
Строки с учетом регистра для фильтрации документов в исходном пути. |
inputs.source.filter.prefix | string |
False | •струна | Строка префикса с учетом регистра для фильтрации документов в исходном пути для перевода. Часто используется для назначения вложенных папок для перевода. Пример: FolderA. |
inputs.source.filter.suffix | string |
False | •струна | Строка суффикса с учетом регистра для фильтрации документов в исходном пути для перевода. Чаще всего используется для расширений файлов. Пример: ".txt" |
inputs.source.language | string |
False | •струна | Код языка для исходных документов. Если этот параметр не указан, выполняется автоматическое определение. |
inputs.source.storageSource | string |
False | •струна | Источник хранилища для входных данных. По умолчанию — AzureBlob . |
inputs.targets
Определение целевых и глоссарий данных.
Параметр ключа | Тип | Обязательное поле | Параметры запроса | Description |
---|---|---|---|---|
inputs.targets | array |
Истина | • targetUrl (string)• категория (string) • язык (string) • глоссарии (массив) • storageSource (string) |
Целевые объекты и данные глоссариев для переведенных документов. |
inputs.targetUrl | string |
Истина | •струна | Расположение расположения контейнера для переведенных документов. |
inputs.targets.category | string |
False | •струна | Классификация или категория для запроса на перевод. Пример: общие. |
inputs.targets.language | string |
Истина | •струна | Код целевого языка. Пример: "fr". |
inputs.targets.glossaries | array |
False | • glossaryUrl (string)• format (string) • version (string)• version (string) • storageSource (string) |
См. статью "Создание и использование глоссарий" |
inputs.targets.glossaries.glossaryUrl | string |
True (при использовании глоссариев) | •струна | Расположение глоссария. Расширение файла используется для извлечения форматирования, если параметр формата не указан. Если языковая пара перевода отсутствует в глоссарии, она не применяется. |
inputs.targets.glossaries.format | string |
False | •струна | Указанный формат файла для глоссария. Чтобы проверить, поддерживается ли формат файла, см. статью "Получение поддерживаемых форматов глоссарий". |
inputs.targets.glossaries.version | string |
False | •струна | Индикатор версии. Пример: "2.0". |
inputs.targets.glossaries.storageSource | string |
False | •струна | Источник хранилища для глоссарий. По умолчанию — _AzureBlob_ . |
inputs.targets.storageSource | string |
False | •струна | Источник хранилища для targets.defaults _AzureBlob_ . |
inputs.storageType
Определение сущности хранилища для входных документов.
Параметр ключа | Тип | Обязательное поле | Параметры запроса | Description |
---|---|---|---|---|
inputs.storageType | string |
False | ••Folder File |
Тип хранилища для строки, указывающей источник входных документов. Допустимы только "Папка" или "Файл". |
Параметры
Определение запроса на перевод входного пакета.
Параметр ключа | Тип | Обязательное поле | Параметры запроса | Description |
---|---|---|---|---|
options | object |
False | Исходные сведения для входных документов. | |
options.experimental | boolean |
False | ••true false |
Указывает, включает ли запрос экспериментальную функцию (если применимо). Допустимы только логические true значения или false допустимые значения. |
Пример запроса
Ниже приведены примеры пакетных запросов.
Примечание.
В следующих примерах доступ к содержимому контейнера службы хранилища Azure ограничен с помощью маркера подписанного URL-адреса (SAS).
Перевод всех документов в контейнере
{
"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"
}
]
}
]
}
Перевод всех документов в контейнере с применением глоссариев
{
"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"
}
]
}
]
}
]
}
Перевод содержимого указанной папки в контейнере
Убедитесь, что имя папки (учитывает регистр) в качестве префикса в фильтре.
{
"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"
}
]
}
]
}
Перевод конкретного документа в контейнере
- Укажите "storageType":
File
. - Создайте исходный URL-адрес и маркер SAS для конкретного большого двоичного объекта или документа.
- Укажите имя целевого файла в целевом URL-адресе. Маркер SAS по-прежнему предназначен для контейнера.
В этом примере запроса показан один документ, переведенный на два целевых языка.
{
"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"
}
]
}
]
}
Совет
Этот метод возвращает параметр задания id
для строк запроса запроса get-translation-status, get-documents-status, get-document-status и запроса на отмену перевода.
Задание можно найти в значении
id
URL-адреса url-адреса заголовкаOperation-Location
ответа метода POSTstart-batch-translation
. Буквенно-цифровой строкой, следующей за/document/
параметром, является заданиеid
операции:Заголовок ответа URL-адрес ответа Operation-Location {document-translation-endpoint}/translator/document/ 9dce0aa9-78dc-41ba-8cae-2e2f3c2ff8ec
?api-version=2024-05-01Вы также можете использовать запрос на получение списка заданий перевода и их
id
состояний.
Коды состояния ответа
Ниже приведены возможные коды состояния HTTP, которые возвращает запрос.
Код состояния | Description |
---|---|
202 | Принято. Успешный запрос и созданный пакетный запрос. Заголовок Operation-Location указывает URL-адрес состояния с идентификатором операции ID.HeadersOperation-Location: string |
400 | Недопустимый запрос. Недопустимый запрос. Проверить входные параметры. |
401 | Не авторизовано. Проверьте свои учетные данные. |
429 | Слишком высокая частота запросов. |
500 | Внутренняя ошибка сервера. |
503 | В настоящее время служба недоступна. Повторите попытку позже. |
Другие коды состояния | • Слишком много запросов. Сервер недоступен |
Отклик в случае ошибки
Параметр ключа | Тип | Описание |
---|---|---|
кодом | string |
Перечисления, содержащие коды ошибок высокого уровня. Возможные значения:</br/>• InternalServerError • InvalidArgument • InvalidRequest • RequestRateTooHigh • ResourceNotFound • ServiceUnavailable • Unauthorized |
message | string |
Получает сообщение об ошибке высокого уровня. |
innerError | InnerTranslationError | Новый формат внутренней ошибки, соответствующий рекомендациям ПО API служб искусственного интеллекта Azure. Это сообщение об ошибке содержит обязательные свойства: ErrorCode, message и необязательные свойства target, details(key value pair), а также внутреннюю ошибку (ее можно вложить). |
inner.Errorcode | string |
Получает строку с ошибкой кода. |
innerError.message | string |
Получает сообщение об ошибке высокого уровня. |
innerError.target | string |
Получает источник ошибки. Например, это будет documents или document id если документ недопустим. |
Пример ответа с ошибкой
{
"error": {
"code": "ServiceUnavailable",
"message": "Service is temporary unavailable",
"innerError": {
"code": "ServiceTemporaryUnavailable",
"message": "Service is currently unavailable. Please try again later"
}
}
}
Следующие шаги
Воспользуйтесь информацией, приведенной в данном кратком руководстве, чтобы узнать больше об использовании перевода документов и клиентской библиотеки.