我需要从Azure表中检索分区中的所有RowKeys。
我不知道"类型"存储的数据,所以检索所有实体并从那里获取RowKey似乎是不可能的。
我对价值不感兴趣,只是RowKeys。
答案 0 :(得分:1)
Azure表存储支持名为Query Projection
的内容,您可以使用该内容指定要检索的属性,而不是检索所有属性。您可以使用它来仅检索表中分区中的RowKeys。
假设您正在使用REST API,您的查询字符串将是:
?$filter=(PartitionKey eq 'Your PartitionKey')&$select=RowKey
您可以在此处详细了解:http://msdn.microsoft.com/en-us/library/azure/dd894031.aspx。
答案 1 :(得分:1)
如果您使用.net框架查询表,则可以使用DynamicTableEntity
查询哪些类型未知的实体。
var tableQuery = new TableQuery<DynamicTableEntity>().Where(filters);
var tableResult = table.ExecuteQuery(tableQuery);
我编写了一个简单的存储表浏览器,可以从github上找到的azure存储进行查询。
答案 2 :(得分:-1)
使用Azure存储客户端SDK:
// Create the filter
string filter = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "EnterPartitionKeyHere");
// Set projection to an empty list so you do not retrieve the
// unnecessary data. Faster retrieval and minimal payload.
TableQuery tableQuery =
new TableQuery().Where(filter).Select(new List<string>{});
//Execute the query
var result = table.ExecuteQuery(tableQuery);