我们正在使用azure表存储,并且使用相同的模式有数千个表.现在我们要为这些表添加另一列.我们如何在不删除表并重新添加表的情况下向现有表添加另一列?
我正在使用Azure存储资源管理器查询Azure表存储.我想找到包含给定文本的所有消息,如T-SQL中的这样:
message like '%SysFn%'
Run Code Online (Sandbox Code Playgroud)
执行T-SQL会出现"处理此请求时出错"
Azure中此查询的等效内容是什么?
我有一个小问题,需要一些建议:
每个表的最新条目应该可以快速获得,并且最有可能被查询最多(有点像"实时跟踪数据").由于缺少'Last()'或类似,我正在考虑创建另一个表"LatestValues",其中更新每个数据表的最新条目以便更快地检索.但是,这会为每个写操作添加额外的更新.此外,大部分流量都集中在这张桌子上(好/坏?).有没有更好的解决方案,或者我错过了什么?
另外,假设我们要查询数据表中的值.由于扫描显然是不可能的,因此通过复制数据来创建二级索引是唯一的选择,有效地使存储要求和写入操作量增加一倍吗?还有其他方法吗?
我主要关注的是DynamoDB和Azure Table Storage,但我也很好奇BigTable如何处理这个问题.
我正在使用来自不同线程(ASP.NET应用程序)的Storage SDK 2.0写入Azure Table存储.
CloudTable对象是否是线程安全的?我可以只将CloudStorageAccount,CloudTableClient和CloudTable初始化一次(例如,在静态构造函数中),然后在不同的线程中使用它们吗?
或者每次从空白创建所有CloudStorageAccount,CloudTableClient和CloudTable对象是否更好(如本文所示)?它会以任何方式影响性能吗?
每次对表执行操作时,获取CloudTable实例的首选方法是什么?
在Microsoft Build 2017活动中,我遇到了CosmosDB Table API.看起来像Azure Table Storage.
这是否意味着微软最终会停止支持Azure表存储?
现在,文档Db已不复存在.它已被转换为CosmosDB现在.
此外,主要问题Table Storage是备份.哪个已经解决了CosmosDB Table API.
此外,Table API的定价策略是Throughput-basedTable Storage的定价策略Storage-based.
那么Table Storage对大批量应用程序来说仍然是一个不错的选择吗?
我正处于Web应用程序的规划阶段,该应用程序将在Azure中托管,其中包含用于Web站点的ASP.NET和用于丰富用户体验的Silverlight.我应该使用Azure Tables还是SQL Azure来存储我的应用程序数据?
有没有人知道查询azure表存储空值的正确方法.从我所读到的,它是可能的(虽然有一个错误阻止它在开发存储上).但是,当我在实时云存储上执行此操作时,我不断收到以下错误:
其中一个请求输入无效.
这是我放在一起的LINQ查询的一个愚蠢的版本.
var query = from fooBar in fooBarSVC.CreateQuery<FooBar>("FooBars")
where fooBar.PartitionKey == kPartitionID
&& fooBar.Code == kfooBarCode
&& fooBar.Effective_Date <= kFooBarDate.ToUniversalTime()
&& (fooBar.Termination_Date > kFooBarDate.ToUniversalTime() || fooBar.Termination_Date == null)
select fooBar;
Run Code Online (Sandbox Code Playgroud)
如果我运行查询而不检查null,它工作正常.我知道一个可能的解决方案是对该查询带回的集合运行第二个查询.如果我需要,我不介意这样做,但想知道我是否可以先采用这种方法.
有人看到任何明显我做错了吗?
如果我有这样的课程:
public class Facet : TableServiceEntity
{
public Guid ParentId { get; set; }
public string Name { get; set; }
public string Uri{ get; set; }
public Facet Parent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Parent来自ParentId Guid,该关系旨在由我的存储库填充.那么我如何告诉Azure单独留下该字段?是否存在某种类型的Ignore属性,或者我是否必须创建一个提供这些关系的继承类?
我正在使用Azure表存储的系统.在其他系统中(例如,SQL,基于文件等),我可以写一个假的,允许我测试我的数据持久性逻辑.但是,我看不到为Azure表服务创建虚假的简单方法.
我可以创建一个行为方式相同的新IIS项目,但这不是编写单元测试的好方法,它更像是一个集成测试.
有关如何对使用Azure Table Storage客户端的数据访问代码进行单元测试的任何想法?
我将我现有的面向.NET Framework 4.6.2的类库移植到.NET Core 1.1.
看起来.NET Framework版本中的某些方法在.NET Core中不存在.两种这样的方法是table.CreateQuery和table.ExecuteQuery.
这是一个现有函数,它给我一个CreateQuery错误:
public T Get<T>(string partitionKey, string rowKey, string tableName) where T : ITableEntity, new()
=> getTable(tableName).CreateQuery<T>().Where(r => r.PartitionKey == partitionKey && r.RowKey == rowKey).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
如何在.NET Core中创建查询?