我正在尝试查询由 Azure 诊断生成的 WadPerformanceCountersTable,它具有基于精确到一分钟的刻度线的 PartitionKey。这个 PartitionKey 存储为一个字符串(我没有任何控制权)。
我希望能够查询该表以获取每分钟、每小时、每天等的数据点,因此我不必提取所有数据(我只想要一个采样来近似它)。我希望使用模数运算符来执行此操作,但由于 PartitionKey 存储为字符串并且这是一个 Azure 表,因此我遇到了问题。
有没有办法做到这一点?
非工作示例:
var query =
(from entity in ServiceContext.CreateQuery<PerformanceCountersEntity>("WADPerformanceCountersTable")
where
long.Parse(entity.PartitionKey) % interval == 0 && //bad for a variety of reasons
String.Compare(entity.PartitionKey, partitionKeyEnd, StringComparison.Ordinal) < 0 &&
String.Compare(entity.PartitionKey, partitionKeyStart, StringComparison.Ordinal) > 0
select entity)
.AsTableServiceQuery();