KQL return LAW 中表的大小,大小以 GB、MB、KB 为单位

KQL return size of tables in a LAW with size in GB, MB, KB

我想计算给定 Log Analytics 工作区中每个 table 的大小,并以 GB、MB 等为单位返回大小。以下代码部分有效,但由于我没有使用 units arg format_bytes 函数未返回大值的预期结果。

union withsource= table *
| where TimeGenerated between(datetime(2022-05-02) ..datetime(2022-05-03))
| summerize Size = sum(_BilledSize) by table, _IsBillable | sort by Size desc | extend Size2 = format_bytes(toint(Size), 2)

我该如何克服它,或者以不同的方式解决我的问题?

我不确定你为什么要在调用 format_bytes().

之前将 double 值 (Size) 转换为 int

而不是这个:

extend Size2 = format_bytes(toint(Size), 2)

试试这个:

| extend Size2 = format_bytes(Size, 2)

datatable(Size:double)
[
    17404157113,
]
| extend Your_Size2 = format_bytes(toint(Size), 2),
         Better_Size2 = format_bytes(Size, 2)
Size Your_Size2 Better_Size2
17404157113 -2147483648 Bytes 16.21 GB