gpt4 book ai didi

c# - 如何使用 BlobClient 从 Azure 存储中删除 Blob

转载 作者:行者123 更新时间:2023-12-03 04:49:01 26 4
gpt4 key购买 nike

我正在尝试使用 BlobClient 从 Azure 存储中删除多个 Blob blob class .

private static void DeleteBlobsFromContainer(Uri blobUri, List<string> fileNames)
{
foreach (var fileName in fileNames)
{
var uri = new Uri(blobUri, fileName);
BlobClient blobClient = new BlobClient(uri);
//blobClient.Delete(DeleteSnapshotsOption.IncludeSnapshots);
blobClient.DeleteIfExists(DeleteSnapshotsOption.IncludeSnapshots);
}
}

这是调试器中的样子:

My blobUri looks like

我可以使用相同的 BlobClient 类很好地下载/流式传输 Blob。我不明白为什么 BlobClient 的删除相关方法不起作用。

我收到此消息:“Azure.RequestFailedException:'指定的资源不存在。”

下面是我的 Azure 存储中的图片,显示了容器中的一些 Blob。

enter image description here

注意:几个月前我刚刚开始编程。提前致谢!

最佳答案

您应该为 blob 的 uri 指定 SAS token 。

代码如下:

var sasToken="your sastoken";
var uri = new Uri(blobUri, fileName+sastoken);

BlobClient blobClient = new BlobClient(uri);
blobClient.DeleteIfExists(DeleteSnapshotsOption.IncludeSnapshots);

仅供引用:这是通过 azure 门户生成 sasToken 的方法:

enter image description here

关于c# - 如何使用 BlobClient 从 Azure 存储中删除 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62666362/

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