У меня есть лямбда-функция в nodejs, которая выбирает шаблон руля из s3, генерирует HTML, конвертирует в PDF и загружает его в s3. После развертывания лямбды до AWS, когда я ее тестирую. Он выполняется без ошибок, но PDF или HTML не были сгенерированы.
try {
const temp = result.Body.toString(); //.replace(/\\|\\n/g,'');
console.log(temp);
const template = hbs.compile(temp);
const html = template(data);
console.log(html);
const executablePath = event.isOffline
? "./node_modules/puppeteer/.local-chromium/mac-674921/chrome-mac/Chromium.app/Contents/MacOS/Chromium"
: await chromium.executablePath;
let browser = null;
browser = await chromium.puppeteer.launch({
args: chromium.args,
defaultViewport: chromium.defaultViewport,
executablePath,
headless: true
});
const page = await browser.newPage();
page.setContent(html);
const pdf = await page.pdf({
format: "A4",
printBackground: true,
margin: { top: "1cm", right: "1cm", bottom: "1cm", left: "1cm" }
});
const output_filename = 'pdf-demo.pdf';
const s3Params = {
Bucket: Bucket_name + '/' + 'pdf',
Key: `epiconnect/pdfs/${output_filename}`,
Body: pdf,
ContentType: "application/pdf",
ServerSideEncryption: "AES256"
};
await s3.upload(s3Params, err => {
if (err) {
console.log("err", err);
return callBack(null, { error });
}
});
} catch (err) {
console.log(err);
return context.fail(err);
}