Created
December 5, 2020 17:58
-
-
Save basyusuf/d918864309098f09707e95f55dbf5ca3 to your computer and use it in GitHub Desktop.
Main Function
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
exports.main = async (event, context, callback) => { | |
console.info("Request Event:", event); | |
let browser = null; | |
let responseBody = {}; | |
let bucketDomain = "https://screenshot-buckets-test.s3.eu-central-1.amazonaws.com/"; | |
let imageUniqueName; | |
const parsed_body = JSON.parse(event.body); | |
const PAGE_URL = parsed_body.page_url; | |
try { | |
console.info("Puppeteer start"); | |
browser = await chromium.puppeteer.launch({ | |
args: chromium.args, | |
defaultViewport: chromium.defaultViewport, | |
executablePath: await chromium.executablePath, | |
headless: chromium.headless, | |
ignoreHTTPSErrors: true, | |
}); | |
let page = await browser.newPage(); | |
await page.goto(PAGE_URL); | |
let image_response = await page.screenshot(); | |
console.info("Screenshot Buffer:", image_response); | |
imageUniqueName = `${parsed_body.image_name}_${(new Date().getTime()).toString(36)}.png`; | |
await putObjectToS3(imageUniqueName,image_response); | |
let full_image_url = bucketDomain + imageUniqueName; | |
responseBody = { ...responseBody, image_url:full_image_url } | |
console.info("Response body:", responseBody); | |
} catch (error) { | |
return callback(error); | |
} finally { | |
if (browser !== null) { | |
await browser.close(); | |
} | |
} | |
return callback(null,{ | |
statusCode: 200, | |
body: JSON.stringify(responseBody) | |
}); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment