【发布时间】:2019-07-26 23:49:09
【问题描述】:
我正在 nodejs 中创建一个无服务器应用程序,并使用命令“sls deploy”到 Aws Cloud。 app 功能是在通过 get 端点访问时发回 pdf。我正在使用 pdfkit 创建 pdf 内容并根据 GET 请求返回它。这在本地运行良好。但是,当我将代码部署到 aws 时,我看到我的函数执行很好(云形成日志是这样说的),但是我的 pdf 返回为空。以下是我正在使用的 pdfkit 包
http://pdfkit.org/docs/getting_started.html
请告诉我,我该如何解决这个问题..
const serverless = require('serverless-http');
const express = require('express');
const bodyParser = require('body-parser');
const axios = require('axios');
const app = express();
const PDFDocument = require('pdfkit');
const fs = require('fs');
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
app.get('/retrievePdf', (req, res) => {
var doc = new PDFDocument({size: "A4"});
doc.pipe(res);
doc.fontSize(16).text("Sample Pdf").moveDown();
doc.end();
});
app.listen(3000, function () {
console.log('listening on port 3000')
});
module.exports.handler = serverless(app);
【问题讨论】:
-
您的 lambda 是在 VPC 还是任何子网下?
-
我正在使用无服务器模式来部署这个节点 js 应用程序.. 我相信该模式只是创建了一个用于执行的 apigateway 和 lambda 函数......
-
您的 lambda 执行日志中有什么内容? API 方法的执行日志中有什么内容?
-
我在 doc.end() 之后打印了一个控制台语句,我看到它正在打印.. 我在 lambda 函数中没有看到任何错误。
标签: node.js amazon-web-services serverless-framework aws-serverless node-pdfkit