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

标签 azure azure-table-storage

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

有人可以告诉我该怎么做吗?我知道如何用简单的方法查询 PK:

where fooEntiy.PartitionKey == partition

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

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

感谢您的建议,

真理子

最佳答案

您的查询可能如下所示:

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

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

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

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

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

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

关于azure - 如何使用 Azure 表存储选择 RowKey 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5932766/

相关文章:

azure - 如何在存储帐户的防火墙中将 Azure API 管理列入白名单?

c# - Windows Azure 表存储帐户中如何拥有用户和角色信息以进行系统身份验证

.net - 获取 AzureRmResource : A parameter cannot be found that matches parameter name 'Tag'

Azure函数应用程序: Error when loading V3 in portal for fresh function app?

azure - 更改 Azure 限制行为

Azure表存储: Capture all table activity for compliance purposes

c# - Azure 存储表返回异常 400 错误请求

javascript - Azure 单点登录发布请求时出现 403 禁止错误

c# - 带有 OrchardCMS 的 Azure 网站导致 Http5xx 错误

c# - 无法加载文件或程序集 'Microsoft.WindowsAzure.Storage' 或其依赖项之一。运行聊天机器人 C# 时