gpt4 book ai didi

c# - 如何设置附加到 Azure 存储的 Azure 搜索软删除策略

转载 作者:行者123 更新时间:2023-12-03 01:38:18 25 4
gpt4 key购买 nike

我有一个使用 Azure 存储 作为数据源的 Azure 搜索。我试图让 SearchStorage 中删除文件时从其结果中删除文件,但不知何故我似乎无法实现它。

到目前为止,我已尝试在存储上设置软删除策略以将文件再保留7天,并在搜索上设置软删除策略检查元数据列 IsDeleted ,如果 true 则从结果中删除该项目。然后使用代码更改元数据,然后删除文件,如下所示:

blob.Metadata["IsDeleted"] = "true";
blob.SetMetadataAsync().Wait();
blob.DeleteAsync().Wait();

如果不删除它似乎工作正常,但有了它,我猜即使文件仍然保留,搜索也无法再访问元数据。我假设一些简单的事情已经经过深思熟虑,但我似乎找不到它。

最佳答案

简短的回答是,您无法在 Azure 搜索中使用软删除 blob。

当从存储中软删除 blob 时,无论出于何种目的,该 blob 都会被删除。在先取消删除 blob 之前,您无法对其执行任何操作。它也不会作为常规 blob 列表过程的一部分返回。

因此,当索引器运行以获取 Blob 列表时,它不会找到软删除的 Blob。从搜索服务索引器的角度来看,将 blob 标记为已删除的唯一方法是将 blob 保留在存储中,并将您正在执行的元数据属性“IsDeleted”设置为“true”。

关于c# - 如何设置附加到 Azure 存储的 Azure 搜索软删除策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56145002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com