Получение многих строк с использованием TableBatchOperation не поддерживается?
Вот фрагмент кода, который инициализирует TableBatchOperation, предназначенный для извлечения двух строк в одном пакете:
TableBatchOperation batch = new TableBatchOperation();
batch.Add(TableOperation.Retrieve("somePartition", "rowKey1"));
batch.Add(TableOperation.Retrieve("somePartition", "rowKey2"));
//second call throws an ArgumentException:
//"A batch transaction with a retrieve operation cannot contain
//any other operation"
Как уже упоминалось, исключение выдается, и, похоже,не поддерживается для получения N строк в одном пакете, Это большое дело для меня, так как мне нужно получить около 50 строк на запрос.Эта проблема связана как с производительностью, так и с затратами. Как вы, возможно, знаете, цены хранилища таблиц Azure основаны на количестве транзакций, что означает, что 50 операций извлечения в 50 раз дороже, чем одной пакетной операции.
Я что-то пропустил?
Примечание I 'м с использованием нового API хранилища Azure 2.0. Я'Мы заметили, что этот вопрос никогда не поднимался в сети. Это ограничение могло быть добавлено недавно?
редактировать
Я нашел связанный вопрос здесь:Очень медленный запрос хранилища таблиц Azure в списке PartitionKey / RowKey, Кажется, используя TableQuery с "или же" на rowkeys будут результаты с полным сканированием таблицы. Там'Это действительно серьезная проблема здесь ...