如何通过Azure Storage Service URI获取计数?已尝试$count参数未成功
获取Azure Table Storage实体计数的正确REST API方式
我之前也踩过这个坑!Azure Table Storage的REST API获取计数确实需要注意参数格式和请求头的设置,你之前用的$count写法不对,所以没拿到想要的结果。
下面是正确的实现方式:
- 基础计数请求URI:必须指定
$count=true而不是只写$count,正确格式如下:https://myaccount.table.core.windows.net/MyTable?$count=true - 必须设置的请求头:请求中需要带上符合OData规范的
Accept头,比如:
或者如果偏好XML格式可以用Accept: application/json;odata=nometadataAccept: application/atom+xml,没有这个头的话,服务可能不会返回计数信息。 - 高效只获取计数:如果不需要返回实体数据,只想拿到总数,可以搭配
$top=0参数,这样请求会更快:https://myaccount.table.core.windows.net/MyTable?$top=0&$count=true - 带过滤条件的计数:如果要统计符合特定条件的实体数量,结合
$filter参数即可:https://myaccount.table.core.windows.net/MyTable?$filter=PartitionKey eq 'MyPartition'&$count=true
另外补充一点:返回的计数会出现在响应的odata.count字段里(JSON格式下),或者在XML响应的对应节点中,你可以直接提取这个值。
内容的提问来源于stack exchange,提问作者Sandeep Bhaskar
相关产品推荐
相关产品推荐

