繁体   English   中英

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

[英]Cannot find module aws-amplify, lambda function

我试着在我的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
  });
}
};

我也试过导入......

我想您可能正在研究基于前端浏览器的JavaScript示例,这些示例并不总是适用于后端AWS Lambda NodeJS运行时环境。 您似乎正在尝试使用此库 ,它表示它是“前端和移动开发人员的JavaScript库”,这可能不是您想要在AWS Lambda上使用的。 您似乎还没有在AWS Lambda函数的部署中包含该库。

我建议在AWS SDK for NodeJS中使用AWS Amplify客户端 ,它自动包含在Lambda函数的运行时环境中。 你会像这样创建一个Amplify客户端:

var amplify = new AWS.Amplify();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM