我使用数据服务来查询 Azure 表。
在 SDK 的 1.7 版本中,对 top > 1000 的表的任何查询都将被拆分为多个查询,并为每个查询计算正确的 top。例如,这是我在 Fiddler 中查询 1500 行的表时看到的内容(第一次请求 1000 行,第二次请求 500 行):
200 HTTPS foo.table.core.windows.net /Foo()?$top=1500
200 HTTPS foo.table.core.windows.net /Foo()?$top=500&NextPartitionKey=1!28!dGVzdGFjY291bnRfMzMxZTZkNTk-&NextRowKey=1!0!
迁移到 1.8 SDK 后,第一个查询使用前 1500 并且返回 400:
400 HTTPS foo.table.core.windows.net /Foo()?$top=1500
这是 Azure SDK 中的重大变化吗?我需要根据返回的行数自己计算 $top 值还是有办法让它工作?