in app/nodejs/utils.js [32:66]
async function retrieveData(fur, age, location) {
const dataFilename = [fur, age, location].join('/') + '/data.json';
var dataFile = ""
try {
dataFile = await storage
.bucket(process.env.PROCESSED_DATA_BUCKET)
.file(dataFilename)
.download();
} catch (err) {
if (err.code == 404) {
logger.log('warn', `${process.env.PROCESSED_DATA_BUCKET} does not contain ${dataFilename}.` +
` Has the job been run?`);
} else {
logger.log('error', err)
}
// Template knows to handle empty data as data not available.
return [0, []];
}
const data = JSON.parse(dataFile);
const squirrelCount = data._counter;
delete data._counter;
logger.info(`Retrieved data for ${squirrelCount} entities.`);
// Get aggregate counter values, sorted by their respective key
const dataValues = [];
Object.keys(data).sort().forEach(function (key) {
dataValues.push(data[key]);
});
return [squirrelCount, dataValues];
}