现在,我正在AWS Lambda上内联编辑代码。 这是我目前拥有的:

var qrImage = require('qr-image');


exports.handler = async (event) => {
    return sendRes(200,'hi');
};
/*
const sendRes = (status, body) => {
  var response = {
    statusCode: status,
    headers: {
      "Content-Type": "text/html"
    },
    body: body
  };
  return response;
}; 
*/

const sendRes = (status, body) => {
  const svg_string = qrImage.imageSync('http://www.nodejs.org',{ type: 'png', size: 20 });
  var response = {
    statusCode: status,
    headers: {
      "Content-Type": "image/jpeg"
    },
    body: svg_string
  };
  return response;
};

这将输出文本内部服务器错误。

下面的代码创建一个png文件并将其存储。 我希望在lambda上使用的功能是在访问端点时仅显示图像(不涉及保存)。 但是我不确定该怎么做(Lamda的新功能,Node.js)。 我到底应该看什么?

var qrImage = require('qr-image');
var fs = require('fs');

qrImage
    .image("http://www.nodejs.org", {type:'png', size:20})
    .pipe(fs.createWriteStream("MyQRCode.png"));

编辑我做了一些小的更改,这似乎正在工作

var qrImage = require('qr-image');

exports.handler = async (event) => {
    return sendRes(200,'hi');
};

const sendRes = (status, body) => {
  const svg_string = qrImage.imageSync('this is AWS!', { type: 'svg', size: 10 });
  var response = {
    statusCode: status,
    headers: {
      "Content-Type": "image/svg+xml"
    },
    body: svg_string
  };
  return response;
};

#1楼 票数:1 已采纳

如果您仅在lambda的帮助下返回图像,则同步也将起作用,此处为该代码

const sendRes = (status, body) => {
  const svg_string = qr.imageSync('http://www.nodejs.org', { type: 'png', size: 20 });
  var response = {
    statusCode: status,
    headers: {
      "Content-Type": "image/jpeg"
    },
    body: svg_string
  };

  return response;
};

  ask by Avinash Prabhakar translate from so

未解决问题?本站智能推荐:

1回复

为什么使用Node.JS调用AWS胶水的Lambda函数没有console.log?

我正在尝试使用node.js使用lambda函数启动AWS胶水作业。 我可以很好地测试lambda函数,但是在脚本运行过程中似乎没有任何反应。 我添加了一些console.log行,但是在SDK方法调用期间以启动AWS胶粘作业,没有console.log行记录任何内容(我正在检查lambda
1回复

需要OTP的自动化测试网站,使用Selenium、Node.js、Lambda(AWS)

我的项目是在 AWS lambda(Node.js) 中使用 Selenium 自动化测试网站但是,当用户登录时,测试网站需要移动 OTP(Google Authenticator)。我搜索了如何编写代码以使用 OTP 自动登录。 但大多数答案都是使用 Python 或 java(pyotp 或 a
1回复

AWS使用Node.jsSDK调用本地Lambda端点

在SAM 文档中,显示了部署您自己的 lambda 端点并使用 Python SDK 调用它的可能性。 您只需要使用sam local start-lambda启动本地 lambda 端点,然后继续# USING AWS SDK ------------- #You can also use the
3回复

使用Node.Js的Lambda函数

我正在尝试使用 lambda 函数列出特定区域中的所有 EC2 实例。 这是我的代码: 我得到执行结果:成功但并没有真正返回任何实例。
1回复

如何使用Node.js、lambda函数在Base64中压缩图像

我想压缩客户端发送的 Base 64 图像并传递给 AWS 以存储在 S3 服务中。 但我的问题是图像很多所以我们想压缩图像的大小,但是我们向 AWS 发送了一个包含图像的 base 64 数据,所以我想在 Lambda 函数中应用一个算法或库来压缩图像的大小。 问题不在于路径,因为有库可以做到这一
2回复

使用Node.js从Lambda触发器调整S3存储桶中的图像大小

我是 nodejs 和 aws 的新手,谁能指出以下代码有什么问题来调整 s3 存储桶中的图像大小程序如下 这是我正在使用的确切代码,使用“S3 put”请求进行测试时从 lambda 输出 提前致谢
3回复

在Node.js中使用async/await的Lambda授权方响应

我正在尝试使用 node.js async/await 而不是回调在 aws 上创建 lambda 授权器,但没有关于如何创建返回到 API 网关的 HTTP 响应的信息。 例如,如果我返回这个: API 网关似乎不理解并向客户端返回错误 403: 有谁知道如何做这里描述的事情: https :
1回复

如何使用lambda(node.js)将项目放入DynamoDB表中?

我已经使用 SAM 部署了 API Gateway、Lambda 和 DynamoDB。 lambda 函数的代码如下- 使用 Curl,我运行以下命令来输入请求正文中提到的数据。 它运行成功。 但是当我检查 DynamoDB 表时,没有数据存在。 然后我检查了 CloudWatch 日志,没有发