通过ARM REST API,我想读取资源(NSG)对其进行修改并将其写回。我希望最后一步(回写)失败,如果有东西出现,并在读取操作和写入操作之间修改资源。那可能吗?当我进行GET时,我发现有一个ETAG属性,如果资源被修改,可能有一些方法可以利用它来使写入失败?Azure ARM API - 乐观并发
0
A
回答
0
据我所知,Azure表存储在ITableEntity
中有ETag
,用于更新期间的乐观并发。虽然Azure的REST API Network Security Groups约etag
:
独特只读字符串每当资源被更新的变化。
我试图利用Azure Portal和resources.azure.com来模拟我的NSG并发更新操作,我发现有上更新操作没有并发控制,配置会被后来的请求overrided。
根据我的理解,您没有内置功能来处理乐观并发。对于NSG,我认为你不会经常修改它。因此,我认为您可以尝试限制少数人更新NSG的权限,或者您可以构建用于更新NSG的自定义REST API,并获取最新的NSG信息,然后将etag
与之前的etag
进行比较以确定在更新NSG之前是否修改NSG。此外,您可以添加您的反馈here。
+0
感谢您的信息!我正在使用Runbook自动化NSG更改,并且正在寻找一种内置的方式来对更改进行序列化。 Runbook没有内置的方法来完成这个任务,所以我希望ARM REST API有一些东西,因为我注意到了e-tag属性。您的手动电子标签比较建议并没有真正的帮助,因为我知道自从我修改NSG后电子标签会有所不同,因此它总是会有所不同。我可以建立一些东西来处理我的情况,但我希望我不需要! – gregjhogan
相关问题
- 1. 乐观并发
- 2. Jaydata,Web Api和乐观并发性
- 3. TransactionScope和乐观并发
- 4. Azure存储blob - 与Etag的乐观并发性
- 5. Azure-mobile-apps-net-client禁用乐观并发
- 6. 意外的乐观并发异常
- 7. asp.net中gridview乐观并发问题
- 8. 亚音速和乐观并发
- 9. 实体框架 - 乐观并发问题
- 10. ConcurrentDictionary乐观并发Remove方法
- 11. Azre iOS客户端SDK中的乐观并发
- 12. 实体框架乐观并发异常没有发生
- 13. 如何使用mockito测试Azure ARM API?
- 14. 对乐观并发的数据库支持
- 15. 如何获得与Azure的REST API ARM
- 16. 在Azure ARM
- 17. 乐观锁(休眠)
- 18. RavenDB抓住22 - 乐观并发和其他客户端
- 19. 乐观与多版本并发控制 - 差异?
- 20. 乐观并发的版本号或时间戳?
- 21. 是否有可能以乐观并发确保这种情况?
- 22. NHibernate覆盖乐观场景中的并发性
- 23. Breeze乐观并发异常保存日期时间
- 24. 乐观并发问题和改进解决方案
- 25. 乐观并发失败的最佳用户消息是什么
- 26. 乐观和悲观的锁
- 27. 乐观锁或悲观锁?
- 28. 用hibernate的乐观/悲观锁定并发的好策略/解决方案
- 29. Azure的ARM REST API监测Azure存储帐户?
- 30. Azure ARM最新SDK
你的情况是什么?即你怎么知道读写之间发生的变化优先于你的?你可以锁定资源吗? –
@ bmoore-msft我的场景是自动化NSG更改(例如带有webhook的Runbook)。如果两个更改同时发生,我希望有一种方法可以让一个失败,然后以指数回退重试另一个。 – gregjhogan
好的,但即使在这种情况下,它最多只是一场比赛,对吧?如果我可以在一段时间内“锁定”资源(这实际上不起作用,但这个想法是相同的) - 在写完之后,有人可能会立即出现并进行他们想要的更改无论如何... –