c# - 如何搜索Blob容器的文件内容?

标签 c# azure azure-blob-storage

我们将日志存储在 Blob 容器中,并为每个操作创建单独的 JSON 文件

例如12345.json

{"User\":\"User1\",\"Location\":\"LOC\","timestamp":"2023-01-10T10:34:43.5470187+00:00","Id":"12345"}

我想返回User = User1的所有数据。

我可以使用 BlobServiceClient 连接到博客存储帐户并检索所有 json 文件。我假设我可以读取单个 json 文件并进行一些过滤,但是有没有更好的方法来做到这一点?

我的最终目标是创建一个端点并接受关键字列表、日期范围,然后返回相应的结果。

最佳答案

如果您只想使用 Blob 存储,则选项是首先列出容器中的所有 Blob,然后使用 Query Blob Contents 在每个 Blob 内进行搜索。 (我链接了 REST API 文档。请检查 SDK 中的等效方法)。

其他(在我看来是一个更好的选择)是使用 Azure 认知搜索并创建 Blob 索引器。让 Azure 认知搜索为 Blob 容器的内容建立索引,然后对该索引数据进行搜索。

您可以在此处了解有关将 Azure 认知搜索与 Blob 存储结合使用的更多信息:https://learn.microsoft.com/en-us/azure/search/search-blob-storage-integration 。要在 Blob 存储中使用 JSON 数据,请参阅:https://learn.microsoft.com/en-us/azure/search/search-howto-index-json-blobs .

关于c# - 如何搜索Blob容器的文件内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75086511/

相关文章:

c# - 使用线程时 Gui 卡住

c# - 使用委托(delegate)在程序类中找不到在不同类中定义的方法

azure - 如何在 Azure 中保存生命周期模型文件 (.pkl)

c# - 将设备到云消息从 Azure IoT 中心路由到 Azure Blob 存储

azure - 对于小于 64 MB 的大小,CloudBlockBlob 的 UploadFromStream 函数是否具有原子性?

c# - 为什么我的 Winforms 应用程序意外退出,但没有错误?

c# - Entity Framework 在判别器上做案例

azure - 使用 Azure 策略将角色分配给存储帐户

azure - 将变量从 ARM 模板传递到 Terraform

javascript - createBlockBlob 和 commitBlobBlocks 在 BlobStorage 中创建空文件