Я пытался написать 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);