request и axios не работают с sam для отладки лямбда-функции - PullRequest
0 голосов
/ 08 октября 2019

Я пытался написать lambda функцию с node.js и запустить ее на своем локальном компьютере с sam-cli, но внутри этой лямбда-функции я должен отправить некоторый журнал на сервер журналов с пост-запросом, но для отправки запроса я попыталсяиспользовать request и axios, но никто из них не сделал ни одного вызова API. Итак, что мне делать?

Дополнительная информация:

Я написал lambda function с node.js, который должен отправить некоторые данные журнала на сервер журналов внутри функции лямбда, но я не могу отправитьлюбые данные на сервер журнала. Поэтому я подумал, что, возможно, на сервере журналов произошла ошибка, поэтому я попытался отправить эти данные почтальону, а затем смог отправить данные. Я также пытался сделать запрос на jsonplaceholder, но я также не смог сделать ни один вызов API, такой как get и send с sam. Кстати, я использовал request для него, но я также использовал axios для вызова API, но все же не смог. Так что сейчас я не могу сделать ни одного запроса в любом месте, где я пытался отладить его, но точка останова также не помогла мне.

Кстати, нет никакой ошибки с другим фрагментом кода, я только не могу отправить или получить какие-либо данные с использованием пакета npm request. при работе с sam на моем локальном, кстати, я смог сделать запрос без sam с npm request пакет

мой лямбда-шаблон

Resources:
  sendSomething:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.sendSomething
      Runtime: nodejs8.10
      Environment:
      Timeout: 500
      Events:
        Api:
          Type: Api
          Properties:
            Path: /sendSomething
            Method: post

код, который не работает

Для loggerUrl и request нет ошибок. Я только не могу отправить данные с рабочим sam-cli

Наконец-то я запускаю код с этой командой sam local start-api

request(
  {
    method: "POST",
    url: loggerUrl,
    body: JSON.stringify(requestBody),
    json: true
  },
  (err, response, body) => {
     console.log("Response body ",body);
    if (err) {
      console.log("Error log: ", err);
    }
  }
);

, когдаКод достигает запроса для отправки пост-запроса переданной функцией обратного вызова, так что любой консольный журнал не записывает, оба они console.log("Response body ",body); и console.log("Error log: ", err);

...