如何公开访问 Microsoft Azure 存储服务中的对象?

Posted

技术标签:

【中文标题】如何公开访问 Microsoft Azure 存储服务中的对象?【英文标题】:How to access an object in Microsoft Azure Storage Service publicly? 【发布时间】:2012-07-28 05:00:52 【问题描述】:

我想上传一些要存储在 Azure 中的图像,我发现 Blob 中有一个叫做“存储”的东西,经过一些研究后,我能够在存储服务中创建我的帐户,并且我正在使用“Azure”访问它存储资源管理器。

1)还有其他软件可以访问我的存储帐户吗?或者其他方法?

2)'public container'和'public blob'有什么区别?

3)我想创建子文件夹,我该怎么做?

4)我怎样才能制作一张我上传到名为“image”的“公共博客”的图片,像这样image\azure.png 并且可以从互联网上的任何人访问?

在 S3(来自亚马逊)中,您可以说该对象是否是公共的,然后从某个 url 访问它。使用 Azure 存储服务可以做到这一点吗?

我知道有很多问题,但对我来说,现在理解这些东西以及如何让它们发挥作用似乎有点复杂。

【问题讨论】:

【参考方案1】:

以下是您问题的答案:

    访问存储帐户的唯一“官方”方式是通过 REST API(或使用此 API 的 SDK)。除此之外,还有一些很好的工具可以让您访问您的存储帐户:

    http://www.cerebrata.com/products/cloudstoragestudio/ http://www.cloudberrylab.com/free-microsoft-azure-explorer.aspx https://www.myazurestorage.com/(基于网络!) http://azurestorageexplorer.codeplex.com/

    公共容器允许您获取该容器中所有可用 Blob 的列表并获取容器元数据。公共 blob 意味着您必须知道 blob 的确切 url 才能访问它。参考:http://msdn.microsoft.com/en-us/library/dd179354

    目录实际上并不存在。只需在“mydir/myblob.txt”中重命名您的 blob,例如模拟目录。如果您使用 CloudBerry 的工具,您将看到目录结构(我用它来存储文件)。

    将容器权限改为公共 blob,上传图片。然后它将在 url 上可用(这里我假设您的容器名为 image):http://YOURSTORAGEACCOUNTHERE.blob.core.windows.net/image/azure.png

【讨论】:

嗨,CloudBerry 这确实是一个非常好的选择,但我认为重命名对象以模拟子文件夹有点奇怪,不是吗?我有很多图片要上传。我能够公开看到我的图像,但是,只使用https:\\ not http:\\,你知道为什么吗?当我使用 CloudBerry 创建容器时,我选择了“完全公共读取访问”,但仍然只能使用 https 访问。 借助 CloudBerry,您可以使用目录(在一个窗口中选择您的存储帐户,在另一个窗口中选择您的本地磁盘,然后将文件夹拖放到您的容器中)。上传文件后,您可以右键单击文件并选择 Web URL 以查看 url。您也可以尝试使用 CloudXplorer 工具上传文件(类似于 Windows 资源管理器)

以上是关于如何公开访问 Microsoft Azure 存储服务中的对象?的主要内容,如果未能解决你的问题,请参考以下文章

从 Azure 数据块读取 Amazon S3 特定文件夹,无需公开访问存储桶

安全访问 Microsoft Azure Blob 存储

Microsoft Azure 公开定价

限制从 Azure 函数子网访问存储帐户

如何在 Azure Function 代码中使用访问密钥(由 Azure Vault 管理)连接存储

如何为 Azure Blob 存储中的文件夹生成共享访问签名?