这些是在不同版本的 NuGet 包之间迁移的重要指南:
然而,我正在努力在代码中迁移以下概念:
// Return if a directory exists:
container.GetDirectoryReference(path).ListBlobs().Any();
Run Code Online (Sandbox Code Playgroud)
哪里GetDirectoryReference不明白并且似乎没有直接翻译。
此外,a 的概念CloudBlobDirectory似乎并未出现在Azure.Storage.Blobs例如
// Return if a directory exists:
container.GetDirectoryReference(path).ListBlobs().Any();
Run Code Online (Sandbox Code Playgroud)
whereCloudBlobDirectory没有出现在 API 中的任何地方。
Azure Blob 存储中不存在物理目录或文件夹之类的东西。您有时看到的目录是 blob 的一部分(例如folder1/folder2/file1.txt)。列表Blob 请求允许你在调用中添加前缀和分隔符,Azure 门户和 Azure 数据资源管理器使用它们来创建文件夹的可视化。例如,前缀folder1/和分隔符/将允许您查看内容,就像打开了folder1一样。
这正是您的代码中发生的情况。添加GetDirectoryReference()前缀。触发ListBlobs()请求并Any()检查是否有任何项目返回。
对于 V12,允许您执行相同操作的命令是GetBlobsByHierarchy及其异步版本。在您只想知道目录中是否存在任何 blob 的特定情况下,带有前缀的GetBlobs也足够了。
| 归档时间: |
|
| 查看次数: |
6346 次 |
| 最近记录: |