我想将
文件存储在Azure Blob存储中.到现在为止还挺好.我还想存储关于该
文件的附加元数据;为此,我使用Azure
sql数据库(因此我可以轻松
查询blob存储上的
文件).
因此,当我向商店添加新文件时,我想确保blob以及元数据已成功编写.因此,我想到了使用类似事务上下文的东西.
有没有办法,使用blob存储和sql存储创建这样的事务上下文?
据我所知,没有任何内置可以做到这一点;你需要自己管理它.最简单的方案是首先保存blob,然后
添加数据库记录.由于
数据库充当您需求的索引,因此在保存
数据库记录之前,Blob对您的
代码基本上是不可见的.
更复杂的选择是实现您自己的提交逻辑.您将处理数据库插入(例如,记录集上的标志设置为0),保存Blob,如果成功,则将数据库中的标志设置为1.
您还可以将元数据保存在Azure表中,但如果您有大量记录,则在Azure表中搜索会显着减慢速度.在大多数情况下,在sql数据库中搜索会更快.
您选择哪种方法取决于您的目标,但我认为第一种选择是最简单的.