使用 Rest Api 查询 Azure 表存储

Posted

技术标签:

【中文标题】使用 Rest Api 查询 Azure 表存储【英文标题】:Query Azure Table Storage with Rest Api 【发布时间】:2020-11-20 12:53:13 【问题描述】:

我正在尝试使用其余 api 从 azure 数据表中检索数据。Url 看起来像这样。

https://<service-url>/Customers(PartitionKey='MyPartition')

无效数据导致 Api 错误。

如果我添加 RowKey 以及 PartitionKey 类似的东西。它有效。

https://<service-url>/Customers(PartitionKey='MyPartition',RowKey='MyRowKey1')

是否需要传递RowKey?

如果我只想从一个分区中检索所有数据怎么办。 我知道,我们可以在查询参数中添加一个 $filter 但这不会导致性能问题吗?

请分享你的想法。

谢谢!

【问题讨论】:

【参考方案1】:

是的,当使用这种格式https://&lt;service-url&gt;/Customers(xxx) 时,您需要同时指定PartitionKeyRowKey

在查询中使用$filter 时,根据我的测试(大约100 条记录),耗时没有更多差异。而且我也尝试使用SDK查询,只需要指定PartitionKey,我可以看到它在后端自动使用$filter(通过使用工具Fiddler)。

【讨论】:

以上是关于使用 Rest Api 查询 Azure 表存储的主要内容,如果未能解决你的问题,请参考以下文章

当用于 Blob 存储的 Azure REST API 使用具有前缀或标记的查询字符串时获取 403

表存储上的 azure REST 实体组事务上的 InvalidInput

使用 Rest-API 查询 Azure SQL 数据库

使用 Azure REST API 检索 Linux 虚拟机的存储使用情况

如何使用REST API将文件存储卷安装到azure容器实例

在不使用 Azure SDK 的情况下使用 REST API 将流上传到 Azure Blob 存储