-3

我在 AWS Translate 服务上遇到了一个不寻常的 aws sdk 问题。

我需要动态翻译一些响应消息,但我收到此错误。

$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:在验证为 TranslateText 操作提供的输入时发现 1 个错误:[TranslatedText] is missing and is an required parameter

有谁知道这个问题?该字段不应该完全存在

4

1 回答 1

0

将代码更改为

$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;
}

它应该可以工作

于 2020-09-15T09:59:43.277 回答