chore: necessary updates given the changes in the alert controller

This commit is contained in:
voltsrage
2026-06-25 00:40:47 +08:00
parent 666d683d67
commit 7bb9124230
32 changed files with 353 additions and 40 deletions
@@ -39,6 +39,7 @@ public static class DataLakeEventParser
AlertType : GetString(d, "alertType"),
Severity : GetString(d, "severity"),
Details : GetString(d, "details"),
ExplanationJson: GetJsonObjectString(d, "explanation"),
TriggeredAt : GetTimestampString(d, "triggeredAt"),
KafkaPartition : partition,
KafkaOffset : offset);
@@ -78,6 +79,13 @@ public static class DataLakeEventParser
}
}
private static string GetJsonObjectString(JsonElement d, string name)
{
if (!TryGetProperty(d, name, out var prop) || prop.ValueKind != JsonValueKind.Object)
return "";
return prop.GetRawText();
}
private static string GetString(JsonElement d, string primary, string? alternate = null)
{
if (TryGetProperty(d, primary, out var prop))
@@ -49,6 +49,7 @@ public static class ParquetFileBuilder
new DataField<string>("alert_type"),
new DataField<string>("severity"),
new DataField<string>("details"),
new DataField<string>("explanation_json"),
new DataField<string>("triggered_at"),
new DataField<int>("kafka_partition"),
new DataField<long>("kafka_offset")
@@ -65,9 +66,10 @@ public static class ParquetFileBuilder
await rg.WriteColumnAsync(new DataColumn(f[3], rows.Select(r => r.AlertType).ToArray()));
await rg.WriteColumnAsync(new DataColumn(f[4], rows.Select(r => r.Severity).ToArray()));
await rg.WriteColumnAsync(new DataColumn(f[5], rows.Select(r => r.Details).ToArray()));
await rg.WriteColumnAsync(new DataColumn(f[6], rows.Select(r => r.TriggeredAt).ToArray()));
await rg.WriteColumnAsync(new DataColumn(f[7], rows.Select(r => r.KafkaPartition).ToArray()));
await rg.WriteColumnAsync(new DataColumn(f[8], rows.Select(r => r.KafkaOffset).ToArray()));
await rg.WriteColumnAsync(new DataColumn(f[6], rows.Select(r => r.ExplanationJson).ToArray()));
await rg.WriteColumnAsync(new DataColumn(f[7], rows.Select(r => r.TriggeredAt).ToArray()));
await rg.WriteColumnAsync(new DataColumn(f[8], rows.Select(r => r.KafkaPartition).ToArray()));
await rg.WriteColumnAsync(new DataColumn(f[9], rows.Select(r => r.KafkaOffset).ToArray()));
}
return ms.ToArray();
}