从Azure表中检索分区中的所有RowKeys

时间:2014-07-12 09:59:20

标签: azure azure-table-storage

我需要从Azure表中检索分区中的所有RowKeys。

我不知道"类型"存储的数据,所以检索所有实体并从那里获取RowKey似乎是不可能的。

我对价值不感兴趣,只是RowKeys。

3 个答案:

答案 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);