Bra*_*lor 2 powershell azure azure-storage azure-cli azure-blob-storage
我正在编写一个使用 Azure 存储 CLI 的 PowerShell 脚本。我正在寻找一种仅列出特定路径下的目录的方法。我可以轻松地列出 blob az storage blob list,但我希望我可以只获取目录而无需对结果进行后处理。鉴于 Azure blob 存储具有平面文件结构,我不太确定这是否可能,但认为有人可能知道我不知道的事情。
谢谢。
您可以使用该--delimiter选项来更接近您想要的内容 - 顶级文件夹(和 blob),但不是嵌套 blob:
# suppress nested blobs
$ az storage blob list -c foo --delimiter '/' --output table
Name Blob Type Content Type
--------- ----------- -------------------------
dir1/
dir2/
dir3/
dir4/
file.txt BlockBlob text/plain; charset=utf-8
Run Code Online (Sandbox Code Playgroud)
这会抑制更深层次的所有斑点。从那里,您可以过滤到仅“文件夹”,因为文件夹条目的元数据为零,而 blob 的元数据为零。文件夹条目也以/. 如果您提供查询选项, CLIaz也可以为您过滤:
az storage blob list -c foo --delimiter '/' --query '[].name | [?ends_with(@, `/`)]'
[ "dir1/",
"dir2/",
"dir3/",
"dir4/" ]
Run Code Online (Sandbox Code Playgroud)
编辑:
--auth-mode login如果由于身份验证问题而无法获取资源,则可能需要另一个标志
# suppress nested blobs
$ az storage blob list -c foo --delimiter '/' --output table
Name Blob Type Content Type
--------- ----------- -------------------------
dir1/
dir2/
dir3/
dir4/
file.txt BlockBlob text/plain; charset=utf-8
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7772 次 |
| 最近记录: |