in screenshot/screenshot.js [62:95]
async function main(urls) {
console.log(`Passed in urls: ${urls}`);
const taskIndex = process.env.CLOUD_RUN_TASK_INDEX || 0;
const url = urls[taskIndex];
if (!url) {
throw new Error(
`No url found for task ${taskIndex}. Ensure at least ${
parseInt(taskIndex, 10) + 1
} url(s) have been specified as command args.`
);
}
const bucketName = process.env.BUCKET_NAME;
if (!bucketName) {
throw new Error(
"No bucket name specified. Set the BUCKET_NAME env var to specify which Cloud Storage bucket the screenshot will be uploaded to."
);
}
const browser = await initBrowser();
const imageBuffer = await takeScreenshot(browser, url).catch(async (err) => {
// Make sure to close the browser if we hit an error.
await browser.close();
throw err;
});
await browser.close();
console.log("Initializing Cloud Storage client");
const storage = new Storage();
const bucket = await createStorageBucketIfMissing(storage, bucketName);
await uploadImage(bucket, taskIndex, imageBuffer);
console.log("Upload complete!");
}