我们将日志存储在 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/