我有一个场景,我需要根据azure cosmos db的id属性检索单个文档.唯一的问题是我不知道分区键,因此无法使用文档URI来访问它.
从我的理解写出一个简单的查询
SELECT * from c WHERE c.id = "id here"
Run Code Online (Sandbox Code Playgroud)
应该是要走的路,但我遇到了这个查询的严重性能问题.大多数查询需要30到60秒才能完成,并且似乎消耗了大量的RU/s.执行10个并发查询时,每个分区的最大RU/s高达30.000.(每个分区配置10.00)导致限制甚至更慢的响应.
该集合包含10个分区,每个分区大约3 Mb,总共30 Mb和大约1,00,000个文档.我的索引策略如下所示:
{
"indexingMode": "lazy",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": []
}
Run Code Online (Sandbox Code Playgroud)
并且设置了一致性,EVENTUAL因为我并不真正关心读/写顺序.该集合受到一些写入压力,每分钟大约30次写入,每个文档的TTL为1年,但这似乎不会对RU产生可测量的影响.我只在查询文档时遇到这种问题.
有没有人有类似的问题,可以提供修复/缓解?我的查询或索引策略有问题吗?我不知道为什么我的查询消耗了那么多资源.
我正在构建一个小型 Web 应用程序来测试新的 ASP.NET Core MVC。我实现了一个包含登录表单的视图组件,我需要将其插入到整个应用程序的各个位置。我的表单当前将数据发布到处理登录的普通控制器。
现在考虑到用户提供了错误的登录信息,我想向模型状态添加一条错误消息并将其显示在我的表单下,就像正常验证一样。但是问题是view组件可以集成到各种地方,我怎么知道form post是从哪里来的呢?
我想呈现用户用来再次输入他的凭据的同一个站点,只有验证错误。有没有办法找出表单帖子来自哪个视图?或者更好的是有什么标准方法可以将表单作为 ASP.NET Core MVC 中的视图组件处理?
我的 Visual Studio Team Services (VSTS) 帐户的私有包源中有一个包,我想取消列出我的包的所有版本,因为它已被弃用并已被不同的包取代。因此我想将旧包标记为已弃用通过取消列出它(如果可能,不要删除它)
不幸的是我能找到的是一个按钮,unlists一个包的特定版本,就像描述这里。以这种方式删除我的旧包需要很长时间,因为在从我的提要中删除包之前,我必须轻松地取消列出 30 个版本。
我知道 nuget.org 具有只需单击一下即可取消列出包的所有版本的功能,我认为它是一项基本功能。有谁知道是否有一个技巧或隐藏按钮可以让我在 VSTS 中更轻松地取消列出包?或者是否有一个 nuget cli 命令?
我有一个当前使用标准软件加密的现有Azure密钥保管库,我想将此保管库升级到使用HSM的高级层.我知道创建一个支持HSM的保险库是这样完成的:
New-AzureRmKeyVault -VaultName 'ContosoKeyVaultHSM' -ResourceGroupName 'ContosoResourceGroup' -Location 'East Asia' -SKU 'Premium'
Run Code Online (Sandbox Code Playgroud)
但是有可能升级现有的保险库吗?我不一定想将我的所有秘密复制到另一个保险库.我不想将现有的秘密从软件加密移植到HSM,但我想将新的HSM功能添加到我现有的保险库中,这样我就不必运行两个保险库.这支持吗?