标签: azure-table-storage

Windows Azure表存储上的并发操作

据我所知,Azure Table Storage支持乐观并发模式,因此应用程序必须处理因同时更新同一实体而导致的所有错误.

我想知道当您同时更新和读取实体时表存储的行为是什么.是否有任何锁定机制,所以我的读取必须等到实体更新?从同一分区写入和读取实体时,是否有任何性能下降,有时甚至是相同的实体?争?我问这个是因为这个主题在关系数据库的世界中非常重要,但我不确定这个NoSQL解决方案的行为.

你能提供有关这个问题的任何文件吗?

提前致谢

.net azure nosql azure-table-storage

0
推荐指数
1
解决办法
1873
查看次数

一个 Windows Azure 存储帐户中可以放置多少个表?

我看到的文档说一个存储帐户中可以有“许多”表。

有谁真正知道极限吗?

azure azure-storage azure-table-storage

0
推荐指数
1
解决办法
508
查看次数

如何使用ETag有条件更新Azure表存储实体

如果ETag尚未更改,如何使用Azure表存储实体的ETag更新实体?

例:

   var query = (from ent in cloudservicetable.CreateQuery<CloudServiceTableEntity>()
               where ent.PartitionKey == "test"
               && ent.Status == "creating"
               && ent.Counter> 0
               select ent).AsTableQuery();



    var candidates = query.OrderByDescending(s=>s.Counter).ToList();
    bool found = false;
    while (!found && candidates.Any())
    {
        //Find best candidate
        var candidate = candidates.First();

        //If we can decrement the count with out the entity have been changed
        //it is a acceptable candidate.
        candidate.Counter--;
        var opr = TableOperation.Merge(candidate);
       // cloudservicetable.ExecuteAsync(opr) 
       // How do I only do the merge if the etag have not …
Run Code Online (Sandbox Code Playgroud)

azure azure-table-storage

0
推荐指数
1
解决办法
1293
查看次数

Azure表存储Rowkey查询未返回正确的实体

我有一个包含大量实体的azure表存储,当我通过使用查询"RowKey le'8888"查询Rowkey(数据类型为"Double")小于8888的实体时.我也得到那些实体Rowkey大于8888也.

存储查询

azure azure-table-storage

0
推荐指数
1
解决办法
175
查看次数

在Azure表存储中向现有实体添加列

我将一些事务数据保存在Azure Table Storage的表中.当我尝试"更新"表中的现有实体并向其添加新列时,看起来它没有添加列.

这是一个例子:我在表格中保存时间表条目.当我第一次创建实体时,有一个StartTime但没有EndTime

PersonId -- TransactionId -- StartTime -- EndTime
Run Code Online (Sandbox Code Playgroud)

所以,当我第一次在表中创建实体时,我最终得到了PersonId, TransactionId and StartTime列.后来,我想添加EndTime但看起来它没有添加它,因为在我的对象EndTime是一个可以为空的属性,当它是时NULL,该列不会被创建.

有没有办法更新现有实体并在流程中添加列?如果没有,我将不得不EndTime在初始创建实体期间放入一些虚拟日期并存储它,以便列存在,我可以稍后更新.

我宁愿不存储任何虚拟数据.

azure-table-storage

0
推荐指数
1
解决办法
2040
查看次数

如何将巨大的字节数组保存到azure表存储中?

我有tableEntity包含byte[]属性

[StorageTableName("TestTable")]
public class TestTableEntity : TableEntity
{
    public byte[] Data { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在这个属性中我想把一些文件转换成字节(如果它不正确 - 请建议另一个解决方案).

var table = tableStorage.Table<TestTableEntity>();
await table.CreateIfNotExistsAsync();

var entity = new TestTableEntity 
{
    Data = data, //byte[]
    PartitionKey = partitionKey, //date
    RowKey = schemaName// string
};

await table.InsertOrUpdateAsync(entity);
Run Code Online (Sandbox Code Playgroud)

插入的步骤我得到错误

远程服务器返回错误:(413)请求正文太大并超出了允许的最大限制.

因为数组真的很大.

有什么方法可以解决这个问题吗?

c# arrays azure large-files azure-table-storage

0
推荐指数
1
解决办法
671
查看次数

哪个C#字段将Azure表存储列创建为"二进制"类型

如果你有bool,int,stringGuid种在你的C#TableEntity类成员,这些被转换为Azure的表列相应品种.

这似乎是一个Azure Table中列可以是类型:string,binary,bool,boolean,byte,datetime,decimal,double,guid,int,int16,int32,int64,single,sbyte.

在这些类型中,我应该在我的C#类中使用哪种类型来生成Azure表列作为binary类型?

azure azure-storage azure-table-storage

-1
推荐指数
1
解决办法
965
查看次数