in packages/app/src/structuredFields.ts [93:117]
async function getStructuredFieldsData(
s3: S3,
bucket: string,
key: string,
): Promise<LogGroupToStructuredFields> {
if (structuredFields) {
console.log('Structured fields cache is available!');
} else {
console.log('Structured fields cache is unavailable. Fetching from S3.');
}
try {
if (!structuredFields) {
const s3Data = await getData(s3, bucket, key);
structuredFields = JSON.parse(s3Data) as LogGroupToStructuredFields; // TODO add a JSON validation library (e.g zod) here?
}
return structuredFields;
} catch {
return Promise.reject(
new Error(
`Unable to get structured fields data from s3://${bucket}/${key}`,
),
);
}
}