Не удается найти модуль AWS-усиления, лямбда-функция - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь сделать пост-запрос 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
  });
}
};

Я также пытался импортировать ...

1 Ответ

0 голосов
/ 07 мая 2019

Я думаю, что вы, возможно, смотрите примеры JavaScript на основе браузера, которые не всегда будут работать в серверной среде выполнения AWS Lambda NodeJS. Похоже, вы пытаетесь использовать эту библиотеку , которая утверждает, что это «библиотека JavaScript для веб-разработчиков и разработчиков мобильных приложений», что, вероятно, не то, что вы хотите использовать в AWS Lambda. Похоже, вы также не включили эту библиотеку в развертывание лямбда-функции AWS.

Я предлагаю использовать клиент AWS Amplify в AWS SDK для NodeJS, который автоматически включается в среду выполнения вашей функции Lambda. Вы бы создали клиента Amplify так:

var amplify = new AWS.Amplify();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...