Перенаправление скриншота кукловода на S3 - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь сделать что-то похожее на то, что сделал этот человек , но мне трудно понять, как перенаправить вывод скриншота Puppeteer напрямую на S3, так как функция скриншота имеет только параметр для пути к локальным каталогам. Хранение изображений на лямбде является опцией, но не предпочтительным.

1 Ответ

0 голосов
/ 28 июня 2018

Передача пути к screenshot необязательна. Вы можете пропустить путь и использовать Promise<[Buffer|String]>>, который он возвращает в качестве содержимого для нового объекта S3 (после await его ввода). Если у вас есть AWS SDK и корзина уже настроена, ваша конфигурация будет выглядеть примерно так:

const AWS = require("aws-sdk");
const s3 = new AWS.S3();
const bucket = "your.bucket.name";
const key = "yourObjectKey";

Тогда, где бы вы ни были готовы сделать скриншот:

const screenshot = await page.screenshot();
const params = { Bucket: bucket, Key: key, Body: screenshot };
await s3.putObject(params).promise();

В зависимости от того, для чего вы собираетесь его использовать, вы можете добавить ContentType или другие соответствующие заголовки к параметрам. Вы можете увидеть список в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...