Blob存储图像和文本

时间:2017-08-24 15:23:22

标签: sql-server azure azure-storage

我有一个封装在Azure上的blob(存储帐户)。我还有一个安装在Azure上的SQL Server表。我有几个问题

  1. 是否可以在blob和表格之间创建连接

  2. 是否可以将所有信息存储在blob中?

  3. 该表有关于它的地址信息,我希望能够从表中提取该信息并将其关联或通过sql表中的ID将其连接到正确的图像(如果这是最好的方式)

2 个答案:

答案 0 :(得分:1)

Azure存储(在您的情况下为blob)和SQL Server是完全独立的独立数据存储。您不能同时在两者之间进行连接,事务或任何类型的查询。

您存储的内容完全取决于您。通常,人们在数据库引擎(例如您的SQL Server中)中存储可搜索/可索引的元数据,并在大容量存储中存储不可搜索的(二进制等)内容(例如blob)。

就“最佳方式”而言?不确定你在寻找什么,但没有最好的方式。就像我说的,有些人会在他们的数据库中存储任何可搜索的东西。除此之外,他们还会将一个URL存储到与该元数据相关的特定blob中。当然,没有关于这样做的具体规则。什么适合你和你的应用程序......

注意:Blob也有元数据,但该元数据不可索引;它需要搜索所有blob(或容器中的所有blob)才能执行特定搜索。

答案 1 :(得分:1)

  

是否可以在blob和表之间创建连接?

没有

  

是否可以将所有信息存储在blob中?

您可能(通过将地址信息存储为blob元数据)但不推荐使用,因为这样会丢失搜索功能。 Blob存储只是一个对象存储。您无法查询地址信息。

  

该表有关于它的地址信息,我希望能够   从表中提取该信息并将其关联或加入   sql表中ID的正确图像(如果这是最好的方式)

推荐的方法是将图像存储在blob存储中。 blob存储中的每个blob都会获得一个唯一的URL(https://account.blob.core.windows.net/container/blob.png),您可以将其与其他地址字段一起存储在数据库中(例如,创建一个名为ImageUrl的列并将URL存储在那里)。