如何使用 Azure 表存储选择 RowKey 范围?

2023-12-21

我想使用主键查询我的天蓝色表存储,另外我想检查我的 RowKey 是否在一个范围内。例如范围 02001 到 02999

有人能告诉我该怎么做吗?我了解如何用简单的方法查询 PK:

where fooEntiy.PartitionKey == partition

但我不知道如何查询 fooEntity.RowKey。

另外,如果我通过指定范围来执行此操作,那么它是否仍会检索该分区的所有条目,然后检查它们是否与范围匹配?

感谢您的建议,

Mariko


您的查询可能如下所示:

where fooEntity.PartitionKey == partionKey
    && fooEntity.RowKey.CompareTo(lowerBoundRowKey) >= 0
    && fooEntity.RowKey.CompareTo(upperBoundRowKey) <= 0

这应该返回之间的所有项目lowerBoundRowKeyupperBoundRowKey包括这些值(如果您不希望它包含在内,只需使用 > 和 = 和

除此之外,您不需要进行任何其他过滤。

看起来您已经用前导零填充了存储在 RowKey 中的数字,这是一件好事,因为该范围将是词法范围,而不是数字范围。

例如运行此查询lowerBoundKey = 10 and upperBoundKey = 100不会返回 RowKey 为 20 的项目。

如果你用零填充它lowerBoundKey = 00010 and upperBoundKey = 00100将返回 RowKey 为 00020 的项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Azure 表存储选择 RowKey 范围? 的相关文章

随机推荐