我在Azure中有一个包含以下主键和行键的存储表(不是真的,只是一个示例),并将整个表作为TableEntities列表检索:
“PartitionKey”,“00”
“PartitionKey”,“01”
“PartitionKey”,“10”
“PartitionKey”,“11”
“PartitionKey”,“20”
“PartitionKey”,“21”
当我像这样查询列表时:
var myItem =
(from item in list
where item.RowKey == "00"
select item).FirstOrDefault();
myItem返回NULL。如果查询RowKey==“01”,情况也是如此。
但是当我单独通过行键查询任何没有前导“0”的字符串时,我会得到预期的结果。此外,如果我使用任何PartitionKey进行查询,并且RowKey具有前导“0”:
var myItem =
(from item in list
where item.PartitionKey == "partitionkey" && item.RowKey == "00"
select item).FirstOrDefault();
我也会得到预期的结果。
如果Azure表存储中的行键是字符串,为什么一个前导“0”的字符串有关系呢?
有没有其他人碰到过这个?如果有,是不是一个窃听器?
有没有其他人碰到过这个?如果有,是不是一个窃听器?
根据您的描述,在MyItem
返回NULL时,列表中似乎没有合适的实体。您可以尝试输出列表中的实体
foreach (var item in list)
{
Console.WriteLine("{0}, {1}", item.PartitionKey, item.RowKey,);
}
我用下面的代码测试,它在我这边正常工作。我不能重复你提到的问题
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("storage connectionstring");
// Create the table client.
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
// Create the CloudTable object that represents the "test" table.
CloudTable table = tableClient.GetTableReference("test");
TableQuery<TableEntity> query = new TableQuery<TableEntity>().Where(TableQuery.GenerateFilterCondition("PartitionKey",QueryComparisons.Equal, "partitionkey"));
var list = table.ExecuteQuery(query);
var myItem = (from item in list
where item.RowKey == "00"
select item).FirstOrDefault();
测试结果:
我试图使用rest API从azure数据表中检索数据。 Api错误已输出,数据无效。 如果我同时添加RowKey和PartitionKey,就像下面这样。它起作用了。 是否需要通过行键? 如果我只想从一个分区检索所有数据。我知道,我们可以在查询参数中添加一个$filter,但这不会导致性能问题吗? 请分享你的想法。 谢谢!
您好,从我的问题开始:Windows Azure表访问延迟分区键和行键选择有关我在 Azure 存储帐户中组织数据的方式。我有一个表存储方案,旨在存储有关实体的信息。 大约有4000-5000个实体。共有6种实体类型,类型大致均匀分布。所以每个大约800英尺。 参数键:实体类型-日期 行键:实体标识 随着问题的详细说明,我一直遇到延迟问题,查询多个分区似乎需要很长时间。 基本上,一个可能的解决方案
我们在Azure Table Storage中有一个表,自从新实现以来,它目前有50,000个条目。 PartitionKey:字符串形式的日期时间值< br> RowKey:字符串形式的数值 我们使用 生成筛选条件。PartitionKey filter是这样的:
使用扩展度量,我试图检索特定VM的特定度量。每个查询似乎花费的时间都非常长,因为表中每隔15秒就会为每个VM创建新的记录。 所以我试图在最后5分钟内查询该表,但它不起作用,并给我一个错误。有人知道如何查询这些WADMETRICS表吗?
我想评估一下我的Windows Azure表存储查询是如何缩放的。为此,我建立了一个简单的测试环境,在这个环境中,我可以增加表中的数据量,并测量查询的执行时间。基于时间,我想定义一个成本函数,它可以用来评估未来查询的性能。 我评估了以下查询: 使用PartitionKey和RowKey查询 使用PartitionKey和属性进行查询 使用PartitionKey和两个行键进行查询 带有Partit
我有一个Person类,我将其保存到Azure表存储中的表中。 我想使用以下查询之一来查询它: 或者 无论使用哪一种,我都会收到以下错误,抛出在我用来循环查询结果的foreach循环上: 请求的操作未在指定的资源上实现。 我想这可能是因为我的Person模型没有继承TableServiceEntity(我拒绝引入这种耦合-所以我用这个属性来装饰它:[DataServiceKey("分区键","Ro