Извличане на всички RowKeys в дял от Azure Table

Трябва да извлека всички RowKeys в дял от таблица на Azure.

Не знам "типа" на съхраняваните данни, така че извличането на всички обекти и получаването на RowKey от там не изглежда възможно.

Не се интересувам от стойността, само от RowKeys.


person Abhi    schedule 12.07.2014    source източник


Отговори (3)


Ако използвате .net framework за запитване към таблицата, можете да използвате DynamicTableEntity за запитване към обекти, чийто тип е неизвестен.

var tableQuery = new TableQuery<DynamicTableEntity>().Where(filters);
var tableResult = table.ExecuteQuery(tableQuery);

Написах прост браузър за таблици за съхранение за заявки от хранилище в azure, което можете да намерите на github.

person Amit    schedule 24.04.2015

Използване на клиентския SDK на Azure Storage:

// 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);
person Dogu Arslan    schedule 08.02.2016
comment
Обяснете причината, поради която маркирате в този случай форматирането на кода. Не функционира. Това трябва да реши въпроса по най-ефективния начин. - person Dogu Arslan; 08.02.2016

Azure Table Storage поддържа нещо, наречено Query Projection, чрез което можете да посочите атрибутите, които искате да извлечете, вместо да извличате всички атрибути. Можете да използвате това, за да извлечете само RowKeys в дял в таблица.

Ако приемем, че използвате REST API, низът на вашата заявка ще бъде:

?$filter=(PartitionKey eq 'Your PartitionKey')&$select=RowKey

Можете да прочетете повече за това тук: http://msdn.microsoft.com/en-us/library/azure/dd894031.aspx.

person Gaurav Mantri    schedule 12.07.2014