Yandex Cloud
August 13, 2022

Использование Yandex Translate

Для использования этого сервиса необходимо создать сервисный аккаунт, создать для него API ключ и отправить запрос в сервис.

1. Сервисный аккаунт и ключи доступа создаём тут: https://teletype.in/@cameda/w93lPMPQWS4

export FOLDER_ID=$(yc config get folder-id)
export SA=$(yc iam service-account get cam-service --format json | jq -r '.id')

2. Создаём профиль для нашего аккаунта в ус от имени которого будем запускать скрипт на распознование:

yc config profile create cam-service
yc config set service-account-key key.json

4. Создаём файл с текстом, который будем обрабатывать.

vi example.json
{ 
   "folderId": "b1g62iqs14tk7mu0faun",
   "texts": ["Hello", "World"],
   "targetLanguageCode": "ru"
}

5. Формируем запрос.

export IAM_TOKEN=`yc iam create-token`
curl --request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${IAM_TOKEN}" \
--data '@example.json' \
"https://translate.api.cloud.yandex.net/translate/v2/translate"

Для того, чтобы запрос отработал необходимо находиться в той же папке где и файл запроса. Абсолютные пути к файлу не поддерживаются.

В файле не должно быть лишних пробелов.

Полезные ссылки:

Документация Translate: https://cloud.yandex.ru/docs/translate/?utm_source=console&utm_medium=empty-page&utm_campaign=translate

Создание SA: https://cloud.yandex.ru/docs/iam/operations/sa/create

Создание авторизованных ключей: https://cloud.yandex.ru/docs/iam/operations/authorized-key/create

Получить IAM ключ:
https://cloud.yandex.ru/docs/iam/operations/iam-token/create

Пример для перевода:
https://cloud.yandex.ru/docs/translate/operations/translate#any-language

Создание профиля YC для SA: https://teletype.in/@cameda/nQSGqQ3RPz7