【问题标题】:Is it possible to list Azure Blobs in a container having public link only?是否可以在仅具有公共链接的容器中列出 Azure Blob?
【发布时间】:2019-10-21 18:16:43
【问题描述】:

我正在开发 C# 应用程序组件,该组件将从我的客户的公共容器中下载文件。似乎是文档中访问 Azure Blob 容器的默认方法:

string storageConnectionString = "...";

CloudStorageAccount account = CloudStorageAccount.Parse(storageConnectionString);
CloudBlobClient serviceClient = account.CreateCloudBlobClient();

var container = serviceClient.GetContainerReference("mycontainer");

我的客户向我发送了一个指向他们的公共 blob 容器的链接,例如 https://clientstoragename.blob.core.windows.net/containername/

如果我只有这个链接,是否可以使用 Azure 原始 nuget 包枚举此容器中的所有 blob?

【问题讨论】:

    标签: c# azure azure-blob-storage


    【解决方案1】:

    是否可以使用 Azure 枚举此容器中的所有 blob 如果这个链接就是我所拥有的,那么原始的 nuget 包?

    是的,完全可以这样做。只需将 restype=container&comp=list 附加到 URL 的末尾并将其放在浏览器的地址栏中,您应该会看到 XML 格式的所有 blob(最多 5000 个)的列表。您的网址是https://clientstoragename.blob.core.windows.net/containername?restype=container&comp=list

    如果您正在编写代码来执行此操作,您只需对该 URL 执行 GET 请求并解析响应 XML。

    更多详情请查看此链接:https://docs.microsoft.com/en-us/rest/api/storageservices/list-blobs

    【讨论】:

    • 它没有回答这个问题。问题不在于 REST 端点,而在于是否存在用于此目的的适当 nuget 库。
    • 您并不真正需要 Azure Storage Nuget 包。事实上,我认为你不能使用它。您可以使用 WebClient 或任何其他能够发出 HTTP 请求并获取数据的类。
    猜你喜欢
    • 2015-03-08
    • 2021-05-16
    • 2020-01-12
    • 2019-08-18
    • 2011-06-16
    • 2019-09-01
    • 2019-01-18
    • 2022-12-17
    • 1970-01-01
    相关资源
    最近更新 更多