我试图在我的lambda函数中发出API post请求,但在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
});
}
};我也尝试过导入...
发布于 2019-05-07 21:53:11
我想您可能正在查看基于前端浏览器的JavaScript示例,它们并不总是在后端AWS Lambda NodeJS运行时环境中工作。看起来您正在尝试使用this library,它声明它是“一个面向前端和移动开发人员的JavaScript库”,这可能不是您想在AWS Lambda上使用的。您似乎也没有将该库包含在AWS Lambda函数的部署中。
我建议使用AWS SDK for NodeJS中的AWS Amplify client,它会自动包含在您的Lambda函数的运行时环境中。您将创建一个放大客户端,如下所示:
var amplify = new AWS.Amplify();https://stackoverflow.com/questions/56023884
复制相似问题