首页 > 解决方案 > 带有 translateText 的参数中的意外键 1-10

问题描述

所以我只是运行一个函数来使用 AWS Translate 翻译文本。这是我的参数和对函数的调用:

const translate = new AWS.Translate({ apiVersion: '2017-07-01' });

const data = JSON.parse(event.body);

const params = {
  "TableName": "sites",
  "Item": {
    SourceLanguageCode: 'auto', /* required */
    TargetLanguageCode: data.TargetLanguageCode, /* required */
    Text: data.Text, /* required */
  }
};

const translated = await translate.translateText(params.Item.Text).promise();

如果我控制台日志params.item.text它输出正确的东西。但是当我运行该translateText函数时,我得到了错误

* UnexpectedParameter: Unexpected key '0' found in params
* UnexpectedParameter: Unexpected key '1' found in params
* UnexpectedParameter: Unexpected key '2' found in params
* UnexpectedParameter: Unexpected key '3' found in params
* UnexpectedParameter: Unexpected key '4' found in params
* UnexpectedParameter: Unexpected key '5' found in params
* UnexpectedParameter: Unexpected key '6' found in params
* UnexpectedParameter: Unexpected key '7' found in params
* UnexpectedParameter: Unexpected key '8' found in params
* UnexpectedParameter: Unexpected key '9' found in params
* UnexpectedParameter: Unexpected key '10' found in params

这是cmd中的错误:

https://pastebin.com/wLJhTLFR

全功能页面:

https://pastebin.com/SmSDF04i

标签: amazon-web-servicesaws-sdkaws-sdk-js

解决方案


应该:

const translated = await translate.translateText(params.Item).promise();

请参阅translateText,您会看到它需要一个包含SourceLanguageCode,TargetLanguageCode和的对象Text,就像变量Item中的键一样。params


推荐阅读