我尝试在我的lambda函数中提出API邮政请求,但是在AWS网站上,使用nodejs我无法导入API?这是我正在尝试的
console.log('Loading function');
const AWS = require('aws-sdk');
const translate = new AWS.Translate({ apiVersion: '2017-07-01' });
var API = require('aws-amplify');
exports.handler = async (event, context) => {
try {
const params = {
SourceLanguageCode: 'en', /* required */
TargetLanguageCode: 'es', /* required */
Text: 'Hello World', /* required */
};
const data = await translate.translateText(params).promise();
createSite(data.TranslatedText);
} catch (err) {
console.log(err, err.stack);
}
function createSite(site) {
return API.post("sites", "/sites", {
body: site
});
}
};
我也尝试了导入...
我认为您可能正在查看基于前端浏览器的JavaScript示例,这些示例并不总是在后端AWS Lambda Nodejs运行时环境中工作。看来您正在尝试使用此库,该图书馆指出它是"前端和移动开发人员的JavaScript库",这可能不是您想在AWS Lambda上使用的。看来您还没有在AWS Lambda函数的部署中包含该库。
我建议在lambda函数的运行时环境中自动包含的nodejs中,在AWS SDK中使用AWS Amplify客户端。您将创建一个这样的放大客户端:
var amplify = new AWS.Amplify();