Переводчик версии 3
Новые возможности
Версия 3.0 переводчика предоставляет современный веб-API на основе JSON. Это улучшает удобство и производительность благодаря объединению существующих функций с меньшим количеством операций и предоставляет новые возможности.
- Транслитерация для преобразования текста на одном языке из одного сценария в другой.
- Преобразование на несколько языков в одном запросе.
- Определение языка, перевод и транслитерация в одном запросе.
- Словарь для поиска альтернативных переводов термина, для поиска обратных переводов и примеров, показывающих термины, используемые в контексте.
- Более информативные результаты определения языка.
Базовые URL-адреса
Запросы к Переводчику в большинстве случаев обрабатываются ближайшим к месту отправки запроса центром обработки данных. Если при использовании глобальной конечной точки возникает сбой центра обработки данных, запрос может направляться за пределы географического региона.
Чтобы принудительно обработать запрос в определенном географическом регионе, используйте нужную географическую конечную точку. Все запросы обрабатываются между центрами обработки данных в пределах географического расположения.
✔️ Функция: переводчик текста
Конечная точка службы | Запрашивать центр обработки данных |
---|---|
Глобальный (рекомендуется):api.cognitive.microsofttranslator.com |
Ближайший доступный центр обработки данных. |
Северная и Южная Америка:api-nam.cognitive.microsofttranslator.com |
Восточная часть США 2 • Западная часть США 2 |
Азиатско-Тихоокеанский регион:api-apc.cognitive.microsofttranslator.com |
Восточная Япония • Юго-Восточная Азия |
Европа (за исключением Швейцарии):api-eur.cognitive.microsofttranslator.com |
Центральная Франция • Западная Европа |
Швейцария: Дополнительные сведения см. в разделе "Конечные точки службы Швейцарии". |
Северная Швейцария • Западная Швейцария |
Конечные точки службы Швейцарии
Клиенты с ресурсом, расположенным в Северной Или Западной Швейцарии, могут гарантировать, что запросы API текста обслуживаются в Швейцарии. Чтобы убедиться, что запросы обрабатываются в Швейцарии, создайте ресурс Переводчика в Resource region
Switzerland North
пользовательской Switzerland West
конечной точке ресурса в запросах API.
Например, если вы создаете ресурс Переводчика в портал Azure с Resource region
именем как Switzerland North
и именем my-swiss-n
ресурса, то конечная точка — https​://my-swiss-n.cognitiveservices.azure.com
это пользовательская конечная точка. Пример запроса для преобразования:
// Pass secret key and region using headers to a custom endpoint
curl -X POST "https://my-swiss-n.cognitiveservices.azure.com/translator/text/v3.0/translate?to=fr" \
-H "Ocp-Apim-Subscription-Key: xxx" \
-H "Ocp-Apim-Subscription-Region: switzerlandnorth" \
-H "Content-Type: application/json" \
-d "[{'Text':'Hello'}]" -v
Пользовательский переводчик в настоящее время недоступен в Швейцарии.
Проверка подлинности
Подпишитесь на Переводчик или мультислужбу в службах ИИ Azure и используйте ключ (доступный в портал Azure) для проверки подлинности.
Существуют три заголовка, которые можно использовать для проверки подлинности подписки. Использование каждого из них описано в следующей таблице:
Заголовки | Description |
---|---|
Ocp-Apim-Subscription-Key | Используйте подписку служб ИИ Azure, если вы передаете секретный ключ. Значение — это секретный ключ Azure для вашей подписки на Переводчик. |
Авторизация | Используйте подписку служб ИИ Azure, если вы передаете маркер проверки подлинности. Значением является токен носителя: Bearer <token> . |
Ocp-Apim-Subscription-Region | Используйте многослужбный и региональный ресурс переводчика. Значение — это регион нескольких служб или регионального ресурса переводчика. Это значение является необязательным при использовании глобального ресурса переводчика. |
Секретный ключ
Первый вариант — выполнить проверку подлинности с помощью заголовка Ocp-Apim-Subscription-Key
. Добавьте заголовок Ocp-Apim-Subscription-Key: <YOUR_SECRET_KEY>
в запрос.
Проверка подлинности с помощью глобального ресурса
При использовании глобального ресурса переводчика необходимо включить один заголовок для вызова Переводчика.
Заголовки | Description |
---|---|
Ocp-Apim-Subscription-Key | Значение — это секретный ключ Azure для вашей подписки на Переводчик. |
Ниже приведен пример запроса для вызова Переводчика с помощью глобального ресурса переводчика.
// Pass secret key using headers
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
-H "Ocp-Apim-Subscription-Key:<your-key>" \
-H "Content-Type: application/json" \
-d "[{'Text':'Hello, what is your name?'}]"
Проверка подлинности с помощью регионального ресурса
При использовании регионального ресурса переводчика необходимо вызвать переводчика два заголовка.
Заголовки | Description |
---|---|
Ocp-Apim-Subscription-Key | Значение — это секретный ключ Azure для вашей подписки на Переводчик. |
Ocp-Apim-Subscription-Region | Значением является регион ресурса переводчика. |
Ниже приведен пример запроса для вызова Переводчика с помощью регионального ресурса переводчика.
// Pass secret key and region using headers
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
-H "Ocp-Apim-Subscription-Key:<your-key>" \
-H "Ocp-Apim-Subscription-Region:<your-region>" \
-H "Content-Type: application/json" \
-d "[{'Text':'Hello, what is your name?'}]"
Проверка подлинности с помощью ресурса с несколькими службами
Ресурс с несколькими службами позволяет использовать один ключ API для проверки подлинности запросов для нескольких служб.
При использовании секретного ключа нескольких служб необходимо включать два заголовка проверки подлинности в строку запроса. Для вызова Переводчика требуется 2 заголовка.
Заголовки | Description |
---|---|
Ocp-Apim-Subscription-Key | Значение — это секретный ключ Azure для вашего ресурса с несколькими службами. |
Ocp-Apim-Subscription-Region | Значение — это регион ресурса с несколькими службами. |
Регион обязателен для подписки на API Текста с несколькими службами. Выбранная область — это единственный регион, который можно использовать для перевода текста при использовании ключа с несколькими службами. Это должен быть тот же регион, который вы выбрали при регистрации для подписки с несколькими службами через портал Azure.
Если секретный ключ передается в строке запроса с параметром Subscription-Key
, необходимо указать регион с параметром запроса Subscription-Region
.
Проверка подлинности с помощью маркера доступа
Альтернативным вариантом является изменение секретного ключа для маркера доступа. Этот маркер входит в состав каждого запроса как заголовок Authorization
. Чтобы получить токен авторизации, сделайте запрос POST
по следующему URL-адресу.
Тип ресурса | Служба проверки подлинности URL-адреса |
---|---|
Глобальный | https://api.cognitive.microsoft.com/sts/v1.0/issueToken |
Региональный или с несколькими службами | https://<your-region>.api.cognitive.microsoft.com/sts/v1.0/issueToken |
Ниже приведены примеры запросов для получения маркера с секретным ключом для глобального ресурса.
// Pass secret key using header
curl --header 'Ocp-Apim-Subscription-Key: <your-key>' --data "" 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken'
// Pass secret key using query string parameter
curl --data "" 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken?Subscription-Key=<your-key>'
Далее даны примеры запросов для получения маркера с секретным ключом для регионального ресурса, расположенного в Центральной части США:
// Pass secret key using header
curl --header "Ocp-Apim-Subscription-Key: <your-key>" --data "" "https://centralus.api.cognitive.microsoft.com/sts/v1.0/issueToken"
// Pass secret key using query string parameter
curl --data "" "https://centralus.api.cognitive.microsoft.com/sts/v1.0/issueToken?Subscription-Key=<your-key>"
Успешный запрос возвращает закодированный токен доступа в виде обычного текста в тексте ответа. Допустимый токен передается в службу переводчика как маркер носителя авторизации.
Authorization: Bearer <Base64-access_token>
Токен аутентификации допустимый в течение 10 минут. Маркер должен быть повторно использован при выполнении нескольких вызовов Переводчика. Однако если программа запрашивает Переводчик в течение длительного периода времени, она должна запрашивать новый маркер доступа через равные промежутки времени (например, каждые 8 минут).
Проверка подлинности с помощью идентификатора Microsoft Entra
Переводчик версии 3.0 поддерживает проверку подлинности Microsoft Entra, облачное решение для управления удостоверениями и доступом Майкрософт. Заголовки авторизации позволяют службе "Переводчик" убедиться, что запрашивающий клиент авторизован для использования ресурса и выполнения запроса.
Необходимые условия
Краткое представление о том, как пройти проверку подлинности с помощью идентификатора Microsoft Entra.
Краткое представление: авторизация доступа к управляемым удостоверениям.
Заголовки
Верхний колонтитул | Значение |
---|---|
Авторизация | Значение представляет собой маркер носителя для доступа, созданный Azure AD.
|
Ocp-Apim-Subscription-Region | Значением является регион ресурса переводчика.
|
Ocp-Apim-ResourceId | Значением является идентификатор ресурса для экземпляра ресурса Переводчика.
|
Страница свойств Переводчика — портал Azure
Внимание
Назначьте роль пользователя Cognitive Services субъекту-службе. Назначив эту роль, вы предоставляете субъекту-службе доступ к ресурсу Переводчика.
Примеры
Использование глобальной конечной точки
// Using headers, pass a bearer token generated by Azure AD, resource ID, and the region.
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
-H "Authorization: Bearer <Base64-access_token>"\
-H "Ocp-Apim-ResourceId: <Resource ID>" \
-H "Ocp-Apim-Subscription-Region: <your-region>" \
-H "Content-Type: application/json" \
-data-raw "[{'Text':'Hello, friend.'}]"
Использование пользовательской конечной точки
// Using headers, pass a bearer token generated by Azure AD.
curl -X POST https://<your-custom-domain>.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=es \
-H "Authorization: Bearer <Base64-access_token>"\
-H "Content-Type: application/json" \
-data-raw "[{'Text':'Hello, friend.'}]"
Примеры использования управляемых удостоверений
Переводчик версии 3.0 также поддерживает авторизацию доступа к управляемым удостоверениям. Если управляемое удостоверение включено для ресурса переводчика, можно передать маркер носителя, созданный управляемым удостоверением, в заголовке запроса.
С глобальной конечной точкой
// Using headers, pass a bearer token generated either by Azure AD or Managed Identities, resource ID, and the region.
curl -X POST https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es \
-H "Authorization: Bearer <Base64-access_token>"\
-H "Ocp-Apim-ResourceId: <Resource ID>" \
-H "Ocp-Apim-Subscription-Region: <your-region>" \
-H "Content-Type: application/json" \
-data-raw "[{'Text':'Hello, friend.'}]"
С пользовательской конечной точкой
//Using headers, pass a bearer token generated by Managed Identities.
curl -X POST https://<your-custom-domain>.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=es \
-H "Authorization: Bearer <Base64-access_token>"\
-H "Content-Type: application/json" \
-data-raw "[{'Text':'Hello, friend.'}]"
Поддержка виртуальной сети
Теперь служба Переводчика доступна с возможностями виртуальной сети (VNET) во всех регионах общедоступного облака Azure. Чтобы включить виртуальная сеть, см. статью "Настройка виртуальных сетей служб ИИ Azure".
После включения этой возможности для вызова Переводчика необходимо использовать пользовательскую конечную точку. Использовать глобальную конечную точку переводчика (api.cognitive.microsofttranslator.com) нельзя. Вы также не можете выполнить проверку подлинности с помощью маркера доступа.
Пользовательскую конечную точку можно найти после создания ресурса переводчика и разрешения доступа из выбранных сетей и частных конечных точек.
Перейдите к ресурсу Переводчика в портал Azure.
Выберите "Сеть" в разделе "Управление ресурсами".
На вкладке "Брандмауэры и виртуальные сети " выберите выбранные сети и частные конечные точки.
Нажмите кнопку Сохранить, чтобы применить изменения.
Выберите ключи и конечную точку из раздела "Управление ресурсами".
Выберите вкладку виртуальная сеть.
Перечислены конечные точки для перевода текста и перевода документов.
Заголовки | Description |
---|---|
Ocp-Apim-Subscription-Key | Значение — это секретный ключ Azure для вашей подписки на Переводчик. |
Ocp-Apim-Subscription-Region | Значением является регион ресурса переводчика. Это значение является необязательным, если ресурс — global |
Ниже приведен пример запроса для вызова Переводчика с помощью пользовательской конечной точки
// Pass secret key and region using headers
curl -X POST "https://<your-custom-domain>.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=es" \
-H "Ocp-Apim-Subscription-Key:<your-key>" \
-H "Ocp-Apim-Subscription-Region:<your-region>" \
-H "Content-Type: application/json" \
-d "[{'Text':'Hello, what is your name?'}]"
ошибки
Стандартный ответ об ошибке — это объект JSON с парой имя и значение, названный error
. Значение также является объектом JSON со следующими свойствами.
code
. Код ошибки, определенный сервером.message
. Строка, дающая представление об ошибке в понятном для человека формате.
Например, клиент с бесплатной пробной подпиской получит следующую ошибку после исчерпания бесплатной квоты.
{
"error": {
"code":403001,
"message":"The operation isn't allowed because the subscription has exceeded its free quota."
}
}
Код ошибки представляет собой число из 6 знаков, первые 3 из которых являются кодом состояния HTTP, а оставшиеся 3 цифры определяют категорию ошибки. Коды распространенных ошибок:
Код | Описание |
---|---|
400000 | Недопустимые входные данные в запросе. |
400001 | Недопустимый параметр "scope" (область). |
400002 | Недопустимый параметр "category" (категория). |
400003 | Спецификатор языка отсутствует или является недопустимым. |
400004 | Спецификатор целевого сценария ("To script") отсутствует или является недопустимым. |
400005 | Входной текст отсутствует или является недопустимым. |
400006 | Недопустимая комбинация языка и сценария. |
400018 | Спецификатор исходного сценария ("From script") отсутствует или является недопустимым. |
400019 | Один из заданных языков не поддерживается. |
400020 | Недопустимый элемент в массиве входного текста. |
400021 | Параметр версии API отсутствует или недопустим. |
400023 | Одна из заданный пар языков является недопустимой. |
400035 | Недопустимый исходный язык (поле "From"). |
400036 | Целевой язык (поле "To") отсутствует или является недопустимым. |
400042 | Недопустимый заданный параметр (поле "Options"). |
400043 | Идентификатор трассировки клиента (поле ClientTraceId или заголовок X-ClientTraceId) отсутствует или недопустим. |
400050 | Входной текст является слишком длинным. Просмотрите ограничения для запросов. |
400064 | Параметр "translation" (перевод) отсутствует или недопустим. |
400070 | Количество целевых сценариев (параметр "ToScript") не соответствует количеству целевых языков (параметр "To"). |
400071 | Недопустимое значение для TextType. |
400072 | В массиве входного текста слишком много элементов. |
400073 | Недопустимый параметр сценария. |
400074 | Текст запроса не соответствует формату JSON. |
400075 | Недопустимое сочетание категории и пары языков. |
400077 | Превышен максимальный размер запроса. Просмотрите ограничения для запросов. |
400079 | Система, запрошенная для перевода между данными исходным и целевым языками, не существует. |
400080 | Транслитерация не поддерживается для этого языка или скрипта. |
401000 | Запрос не авторизован, так как учетные данные отсутствуют или являются недопустимыми. |
401015 | "Указаны учетные данные для API распознавания речи. Этот запрос требует учетные данные для API текста. Используйте подписку на Переводчик". |
403000 | Операция запрещена. |
403001 | Операция запрещена, так как для подписки превышена бесплатная квота. |
405000 | Метод запроса не поддерживается для запрашиваемого ресурса. |
408001 | Выполняется подготовка запрошенной системы перевода. Повторите попытку через несколько минут. |
408002 | Истекло время ожидания входящего потока для запроса. Клиент не создал запрос за время, в течение которого сервер был готов ждать. Клиент может повторить запрос без внесения изменений в любой другой момент. |
415000 | Заголовок Content-Type отсутствует или является недопустимым. |
429000, 429001, 429002 | Сервер отклонил запрос, так как клиент превысил ограничения для запросов. |
500 000 | Произошла непредвиденная ошибка. Если ошибка сохраняется, передайте отчет о ней, включив следующие данные: дата и время ошибки, идентификатор запроса из заголовка ответа X-RequestId и идентификатор клиента из заголовка запроса X-ClientTraceId. |
503000 | Служба временно недоступна. Повторите попытку. Если ошибка сохраняется, передайте отчет о ней, включив следующие данные: дата и время ошибки, идентификатор запроса из заголовка ответа X-RequestId и идентификатор клиента из заголовка запроса X-ClientTraceId. |
Метрики
Метрики позволяют просматривать сведения об использовании и доступности переводчика в разделе "Метрики" на портале Azure, как показано на следующем снимке экрана. Дополнительные сведения см. в статье Метрики данных и платформ.
В этой таблице перечислены доступные метрики с описанием того, как они используются для мониторинга вызовов API перевода.
Показатели | Description |
---|---|
TotalCalls | Общее число вызовов API. |
TotalTokenCalls | Общее число вызовов API через службу токенов с использованием маркера проверки подлинности. |
SuccessfulCalls | Число успешных вызовов. |
TotalErrors | Число вызовов с сообщением об ошибке. |
BlockedCalls | Число вызовов, превысивших ограничение скорости или квоты. |
ServerErrors | Число вызовов с внутренней ошибкой сервера (5XX). |
ClientErrors | Число вызовов, приведших к ошибке на стороне клиента (4XX). |
Задержка | Длительность выполнения запроса в миллисекундах. |
CharactersTranslated | Общее количество символов во входящем текстовом запросе. |