找不到模块aws-amplify,lambda函数



我尝试在我的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();

最新更新