如何索引Azure中的Blob存储?

时间:2017-09-07 12:24:01

标签: azure azure-storage-blobs azure-search azure-search-.net-sdk

我们如何索引blob存储?是否有可用的.NET SDK,如果是,我无法找到。我能看到的是必须用来创建索引和索引器的API调用。

由于

2 个答案:

答案 0 :(得分:3)

因为这样的blob存储不可索引。您需要做的是使用Azure Search服务并将数据从blob存储中提取到Azure搜索索引。这使得blob存储数据可以搜索。

要将Azure Blob存储中的数据提取到Azure Search Service索引,您需要创建Blob Data SourceIndexer。索引器将负责从blob中获取数据并填充索引。

您可能会发现此链接对使用Azure搜索索引Blob存储非常有用:https://docs.microsoft.com/en-us/azure/search/search-howto-indexing-azure-blob-storage

有一个.Net SDK可用于管理Azure搜索服务索引,数据源和索引器。您可以在此处详细了解:https://docs.microsoft.com/en-us/dotnet/api/overview/azure/search?view=azure-dotnet。此外,Azure Search团队已在Github上发布了一些使用此SDK的示例。你可以在这里找到它们:https://github.com/Azure-Samples/search-dotnet-getting-started

答案 1 :(得分:0)

BLOB INDEX功能在2020年5月进行预览

于2020年5月4日发布。与其他预览功能一样,不建议在生产环境中进行部署。

值得注意的是: Microsoft在预览状态下使用产品或功能的主要免责声明如下:

  • 所有预览均不包括在Microsoft SLA和保修中

  • 预览可能不包括Microsoft的客户支持

  • 预览可能不会进入一般发布状态

很可能这将使GA IMO(明确要求)具有其他平台上的类似功能。

注意:要填充Blob索引,您可以在数据上定义键值标记属性,可以是上传期间的新数据,也可以是存储帐户(仅限GPv2存储帐户)中已有的数据。

发布于2020年5月4日

Blob索引-一个托管二级索引,允许您存储多维对象属性以描述用于Azure Blob存储的数据对象-现在可以在预览中使用。建立在Blob存储之上,Blob Index为您的所有工作负载提供一致的可靠性,可用性和性能。 Blob Index提供了本机对象管理和筛选功能,使您可以基于在数据上设置的属性标签对数据进行分类和查找。

使用Blob索引管理和查找数据

随着数据集变得越来越大,在大量数据中查找特定的相关对象可能会变得困难而令人沮丧。以前,客户端使用ListBlobs API一次检索5000条词典记录,解析列表,然后重复进行直到找到所需的Blob。一些用户还求助于管理单独的查找表以查找特定对象。这些单独的表可能不同步-从而增加了成本,复杂性和挫败感。客户不必担心数据组织或索引表管理,而专注于构建功能强大的应用程序来发展业务。

Blob索引通过支持所有Blob类型(Block Blob,Append Blob和Page Blob)来减轻数据管理和查询问题。通过熟悉的Blob存储端点和API公开Blob索引,使您可以轻松地在同一服务上存储和访问数据索引和分类索引,以降低应用程序的复杂性。

要填充Blob索引,您可以在数据上定义键值标签属性,无论是上传期间的新数据还是存储帐户中已有的数据。这些Blob索引标记与您的基础Blob数据一起存储。然后,blob索引引擎会自动读取新标签,对其进行索引,然后将其公开给用户可查询的blob索引。然后,使用Azure门户,REST API或SDK,可以发出FindBlobsByTags API调用,以指定一组条件。 Blob存储区将返回过滤后的结果集,该结果集仅由满足匹配条件的Blob组成。

以下情况是Blob索引的工作方式示例:

在具有一百万个Blob的存储帐户容器中,用户上传具有以下Blob索引标记的新Blob“ B2”:<状态=未处理,质量= 8K,源= RAW>。 Blob及其Blob索引标记将持久保存到存储帐户,并且帐户索引引擎会在不久后公开新的Blob索引。 稍后,编码应用程序希望找到分辨率至少为4K的所有未处理媒体文件。它将发出FindBlobs API调用以查找符合以下条件的所有Blob:<状态=未处理AND质量> = 4K AND状态== RAW>。 Blob索引快速返回仅Blob“ B2”,这是与指定条件匹配的一百万个Blob中唯一的Blob。编码应用程序可以快速开始其处理工作,从而节省了空闲的计算时间和金钱。

enter image description here

具有Blob索引的平台功能集成

Blob索引不仅可以帮助您分类,管理和查找Blob数据,还可以与其他Blob服务功能(例如生命周期管理)集成。

使用新的blobIndexMatch作为过滤器,您可以将数据移动到较冷的层,也可以根据应用于您的Blob的标签删除数据。这样一来,您就可以在规则中更细化,并且仅在数据符合指定条件时才移动或删除数据。

以下示例生命周期管理策略仅适用于“视频文件”容器中的块Blob,并在一天后将对象分层用于归档存储,前提是Blob与状态=“已处理”且源=“ RAW”的Blob索引标签匹配。

带有blobIndexMatch示例的生命周期管理规则。

enter image description here

将生命周期管理与Blob Index集成只是一个开始。我们将很快添加与其他Blob平台功能的更多集成!

具有Blob索引代码的条件Blob操作

在REST版本2019-10-10和更高版本中,大多数blob服务API现在都支持新的条件标头x-ms-if-tags,因此只有在满足指定的blob索引标签条件的情况下,操作才会成功。如果不满足条件,则操作将失败,因此不会修改Blob。 Blob Index的此功能可以帮助确保数据操作仅在显式标记的Blob上发生,并可以防止多线程应用程序无意中删除或修改。

如何开始使用

要注册博客索引预览,请通过运行以下PowerShell或CLI命令提交请求,以将此功能注册到您的订阅中:

使用PowerShell注册

Register-AzProviderFeature -FeatureName BlobIndex -ProviderNamespace Microsoft.Storage

Register-AzResourceProvider -ProviderNamespace Microsoft.Storage

使用Azure CLI注册

az功能寄存器--namespace Microsoft.Storage --name BlobIndex

az提供者注册-命名空间'Microsoft.Storage'

在您的请求获得批准后,France Central和France South中的任何现有或新的通用v2(GPv2)存储帐户都可以利用Blob Index的功能。与大多数预览一样,我们建议在达到一般可用性之前,不要将此功能用于生产工作负载。

参考: https://azure.microsoft.com/en-gb/blog/manage-and-find-data-with-blob-index-for-azure-storage-now-in-preview/