如何使用nodejs在aws lambda函数中调用rest api

pra*_* Dp 11 amazon-web-services node.js aws-lambda

我已经创建了 aws lambda 函数。我想在我的 lambda 函数中使用 rest api 调用。是否有任何参考如何使用nodejs将其连接到rest api

Dha*_*era 10

const https = require('https')

// data for the body you want to send.
const data = JSON.stringify({
  todo: 'Cook dinner.'
});

const options = {
  hostname: 'yourapihost.com',
  port: 443,
  path: '/todos',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length
  },
};

const response = await doRequest(options, data);
console.log("response", JSON.stringify(response));

/**
 * Do a request with options provided.
 *
 * @param {Object} options
 * @param {Object} data
 * @return {Promise} a promise of request
 */
function doRequest(options, data) {
  return new Promise((resolve, reject) => {
    const req = https.request(options, (res) => {
      res.setEncoding("utf8");
      let responseBody = "";

      res.on("data", (chunk) => {
        responseBody += chunk;
      });

      res.on("end", () => {
        resolve(JSON.parse(responseBody));
      });
    });

    req.on("error", (err) => {
      reject(err);
    });

    req.write(data);
    req.end();
  });
}
Run Code Online (Sandbox Code Playgroud)


小智 -4

如果您询问如何使用 nodejs 在 lambda 中创建 HTTP Rest 端点。这是一个例子。 https://github.com/serverless/examples/tree/master/aws-node-simple-http-endpoint

如果您询问如何使用 nodejs 访问 lambda 内的外部 API。这是一个例子。

https://github.com/robm26/SkillsDataAccess/blob/master/src/CallService/index.js

希望这可以帮助。