Azure表存储批处理行键查找

Azure表存储批处理行键查找,azure,azure-table-storage,Azure,Azure Table Storage,我尝试使用CloudTable::ExecuteBatch(新的TableBatchOperation{operation1,operation2}); 每个操作都是一个检索操作。讨论中的代码片段如下所示: var partitionKey = "1"; var operation1 = TableOperation.Retrieve(partitionKey, "1"); var operation2 = TableOperation.Retrieve(partitionKey, "2");

我尝试使用CloudTable::ExecuteBatch(新的TableBatchOperation{operation1,operation2}); 每个操作都是一个检索操作。讨论中的代码片段如下所示:

var partitionKey = "1";

var operation1 = TableOperation.Retrieve(partitionKey, "1");
var operation2 = TableOperation.Retrieve(partitionKey, "2");

var executedResult = ExecuteBatch(new TableBatchOperation{operation1, operation2});

我得到一个异常,说在批处理执行中不能有任何检索操作。有没有办法做到这一点,或者异步执行是处理多分区键、行键查找的最佳方式?对于我的用例,我必须同时按分区键和行键查找最多3个不同的行。

是的,批处理操作有一定的限制,不包括GET。 如果分区键保持不变,您可以尝试此处概述的范围查询


否则,您可以并行查询

哎呀,我把那个问题弄糊涂了。我无法真正查询一系列行键,因为我可能最终需要分区中的第一个键和最后一个键。我认为并行查询可能是最好的方式。这与对azure的异步调用相同吗?如果不是,你能告诉我或者给我指出一个有区别的来源吗?你能在回答后面的访问者时加入这个链接(或者更好的链接):是的,并行调用是异步的,但需要同时进行才能并行。应该有许多并行查询的示例。您还可以考虑使用TPL,因为它是一种从直接使用线程中抽象出来的好方法。如果只需要运行3个返回单行的查询,并行化可能不会提供最佳性能,顺序处理可能就足够了。如果您有许多并行调用,并且/或者它们执行复杂的查询,返回大量行,则并行调用更有意义。