我们如何索引 blob 存储?是否有任何可用的 .NET SDK,如果是,我无法找到。我可以看到的是创建索引和索引器必须进行的 API 调用。
谢谢
我们如何索引 blob 存储?是否有任何可用的 .NET SDK,如果是,我无法找到。我可以看到的是创建索引和索引器必须进行的 API 调用。
谢谢
因此,blob 存储不可索引。您需要做的是利用Azure Search
服务并将数据从 blob 存储拉到 Azure 搜索索引。这使得 blob 存储数据可搜索。
要将数据从 Azure Blob 存储拉入 Azure 搜索服务索引,您需要创建一个Blob Data Source
和一个Indexer
. 索引器将负责从 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 搜索团队在 Github 上发布了一些使用此 SDK 的示例。您可以在此处找到它们:https ://github.com/Azure-Samples/search-dotnet-getting-started 。
2020 年 5 月 4 日宣布。与其他预览功能一样,不建议在生产环境中部署。
值得注意的是:在预览状态下使用产品或功能的关键 Microsoft 免责声明如下:
所有预览版均不包含在 Microsoft SLA 和保修范围内
预览版可能不包括 Microsoft 的客户支持
预览版可能不会进入一般发布状态
很可能这将使其成为 GA IMO,明确要求,其他平台上可用的类似功能。
注意:要填充 blob 索引,您可以在数据上定义键值标记属性,无论是上传期间的新数据还是存储帐户中已有的现有数据,仅限 GPv2 存储帐户。
Blob 索引(一种托管二级索引,允许您存储多维对象属性以描述 Azure Blob 存储的数据对象)现在提供预览版。Blob 索引建立在 Blob 存储之上,可为您的所有工作负载提供一致的可靠性、可用性和性能。Blob Index 提供原生对象管理和过滤功能,允许您根据数据上设置的属性标签对数据进行分类和查找。
随着数据集变得越来越大,在海量数据中找到特定的相关对象可能会变得困难且令人沮丧。以前,客户端使用 ListBlobs API 一次检索 5000 条字典记录,解析列表,然后重复,直到找到所需的 blob。一些用户还求助于管理单独的查找表来查找特定对象。这些单独的表可能会不同步——增加成本、复杂性和挫败感。客户不必担心数据组织或索引表管理,而是专注于构建强大的应用程序来发展他们的业务。
Blob 索引通过支持所有 Blob 类型(Block Blob、Append Blob 和 Page Blob)来缓解数据管理和查询问题。Blob 索引通过熟悉的 Blob 存储端点和 API 公开,使您可以轻松地在同一服务上存储和访问数据和分类索引,以降低应用程序的复杂性。
要填充 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:< 状态 = 未处理和质量 >= 4K 和状态 == RAW>。Blob 索引会快速返回 Blob“B2”,这是一百万个 Blob 中与指定条件匹配的唯一 Blob。编码应用程序可以快速启动其处理工作,节省空闲计算时间和金钱。
Blob 索引不仅可以帮助您对 Blob 数据进行分类、管理和查找,而且还提供与其他 Blob 服务功能的集成,例如生命周期管理。
使用新的 blobIndexMatch 作为过滤器,您可以将数据移动到较冷的层或根据应用于您的 blob 的标签删除数据。这使您可以更细化地制定规则,并且仅在数据符合您指定的条件时才移动或删除数据。
以下示例生命周期管理策略适用于“videofiles”容器中的块 blob,并且仅当 blob 与 Status = 'Processed' 和 Source = 'RAW' 的 blob 索引标记匹配时,才将对象分层以在一天后存档存储。
带有 blobIndexMatch 示例的生命周期管理规则。
与 Blob Index 的生命周期管理集成仅仅是个开始。我们将很快添加与其他 blob 平台功能的更多集成!
在 REST 版本 2019-10-10 及更高版本中,大多数 blob 服务 API 现在支持新的条件标头 x-ms-if-tags,因此只有满足指定的 blob 索引标记条件时操作才会成功。如果不满足条件,则操作将失败,因此不会修改 blob。Blob Index 的这一功能有助于确保数据操作仅发生在显式标记的 Blob 上,并且可以防止多线程应用程序意外删除或修改。
要注册博客索引预览,请通过运行以下 PowerShell 或 CLI 命令提交请求以将此功能注册到您的订阅:
注册-AzProviderFeature -FeatureName BlobIndex -ProviderNamespace Microsoft.Storage
注册-AzResourceProvider -ProviderNamespace Microsoft.Storage
az 功能寄存器 --namespace Microsoft.Storage --name BlobIndex
az provider register --namespace 'Microsoft.Storage'
在您的请求获得批准后,法国中部和法国南部的任何现有或新的通用 v2 (GPv2) 存储帐户都可以利用 Blob 索引的功能。与大多数预览版一样,我们建议在正式发布之前不要将此功能用于生产工作负载。