В AWS Translate Php sdk отсутствует поле, но отсутствует запрос в документации

У меня необычная проблема с aws sdk в сервисе AWS Translate.

Мне нужно динамически переводить некоторые ответные сообщения, но я получаю эту ошибку.

$currentLanguage = 'es';
// If the TargetLanguageCode is not "en", the SourceLanguageCode must be "en".
$targetLanguage= 'en';
$textToTranslate = 'El AWS SDK for PHP versión 3 permite a los desarrolladores de PHP utilizar Amazon Web Services en su código PHP y crear aplicaciones y software robustos utilizando servicios como Amazon S3, Amazon DynamoDB, Amazon Glacier, etc. Puede empezar rápidamente instalando el SDK mediante Composer (solicitando el paquete aws/aws-sdk-php) o descargando el archivo aws.zip o aws.phar independiente';
try {
$translate = $this->aws_utils->getTranslate();
$result = $translate->translateText(array(
'SourceLanguageCode' => $currentLanguage,
'TargetLanguageCode' => $targetLanguage,
'Text' => $textToTranslate
));
}catch (AwsException $e) {
// output error message if fails
var_dump($e->getMessage());die;
}

https://docs.aws.amazon.com/translate/latest/dg/API_TranslateText.html

В соответствии с документацией я правильно передаю параметры в службу SDK, но получаю эту ошибку 500: Обнаружена 1 ошибка при проверке ввода, предоставленного для операции TranslateText: [TranslatedText] отсутствует и является обязательным параметром

Кто-нибудь знает проблему? Это поле не должно быть там полностью

1 ответ

Измените код на

$currentLanguage = 'es';
// If the TargetLanguageCode is not "en", the SourceLanguageCode must be "en".
$targetLanguage= 'en';
$textToTranslate = 'El AWS SDK for PHP versión 3 permite a los desarrolladores de PHP utilizar Amazon Web Services en su código PHP y crear aplicaciones y software robustos utilizando servicios como Amazon S3, Amazon DynamoDB, Amazon Glacier, etc. Puede empezar rápidamente instalando el SDK mediante Composer (solicitando el paquete aws/aws-sdk-php) o descargando el archivo aws.zip o aws.phar independiente';
try {
$translate = $this->aws_utils->getTranslate();
$result = $translate->translateText(array(
'SourceLanguageCode' => $currentLanguage,
'TargetLanguageCode' => $targetLanguage,
'Text' => $textToTranslate, 

));
}catch (AwsException $e) {
// output error message if fails
var_dump($e->getMessage());die;
}

и это должно работать

Другие вопросы по тегам