特定文件夹结构中的文件的Azure存储

时间:2016-03-05 17:55:35

标签: azure azure-sql-database azure-storage azure-storage-blobs azure-table-storage

目前我有一些ftp在哪里,我有一些深层结构的文件夹和文件。它甚至可以从根文件夹下降10级。因为我已成功迁移我的本地数据库到azure数据库,我想知道是否有任何azure ftp我也可以使用它来迁移它。我知道我们有类似Azure存储的东西,我可以为它创建类型为File或Blob的容器 - 其中一个可以像特殊的ftp一样使用 - 我可以创建文件夹结构,不知何故使用容器和文件或Blob为此目的,它是如何工作的?容器blob或文件是否用于此类目的?

3 个答案:

答案 0 :(得分:5)

让我补充一下NDJ写的内容。因此,Azure Blob和Files都可以满足您的需求。

如NDJ所述,Azure Blob存储是一个2级层次结构系统。在顶部有一个blob容器,每个blob容器包含0个或更多文件。因此它本身不支持文件夹结构,但正如NDJ所提到的,您可以通过使用适当的blob分隔符(通常为/)来创建子文件夹的错觉。如果要将它与本地文件系统进行比较,则根级别(C :)的目录是blob存储中的容器,然后文件将进入那里。因此,假设您在计算机的C:\中有一个名为images的文件夹,它将是blob存储中的容器。现在假设您在此文件夹下有2个子文件夹(我们称之为hireslores),它们都包含一些文件(例如image1.png)。将它们移动到Azure Blob存储时,容器名称将为images,但blob名称将为hires/image1.pnglores/image1.png。一些存储资源管理器会使用此分隔符(/)并向您显示您的容器包含2个文件夹,并且每个文件夹中都有一个名为image1.png的图像,但实际上该blob容器中只有2个blob。

Azure文件服务与您的本地文件系统非常匹配。在顶层,你有一个Share,每个共享将容器目录和文件。每个目录可以再次包含许多目录和文件。

正如NDJ所提到的,Azure存储没有FTP访问权限,但是有许多工具可以让您将文件从本地计算机上传到Azure存储,其中许多工具将保留文件层次结构。您始终可以编写代码来自行上传文件。如果您决定使用Azure文件,则只需将文件存储共享作为网络驱动器安装在本地计算机上,然后将文件从本地计算机传输到Azure文件,就像将文件从一个驱动器传输到另一个驱动器一样。 / p>

<强>更新

关于Azure Blob存储和文件存储之间的差异,两者都用于存储文件。我可以想到一些差异:

  • Azure文件存储中的Share可以作为网络驱动器安装在本地计算机/ Azure VM上,而Azure Blob存储中的Blob Container则不能。因此,如果您有一个将文件写入本地文件系统的应用程序,您可以按原样使用该应用程序并使用Azure文件存储并将该文件写入该网络驱动器,而无需对您的代码进行任何更改({{1的典型示例应用程序。
  • 您可以在Lift-And-Shift上设置ACL,而在Blob Container上则不能这样做。这使Azure Blob Storage成为存储网站静态内容(图像,css,js)的理想选择。要在文件存储中公开文件,您需要求助于Share
  • 您可以设置Shared Access Signature的大小(默认值为5GB),而Share则不存在这样的大小。 blob容器可以达到存储帐户的大小。

要了解Azure文件,我建议您阅读:https://azure.microsoft.com/en-in/documentation/articles/storage-dotnet-how-to-use-files/

答案 1 :(得分:3)

Azure blob支持10级(最多254。基本上,文件以非分层方式存储,但每个/分隔符都提供目录的外观。 写一些东西将文件移动到azure是相对微不足道的,据我所知还没有ftp功能 - 但它已经requested。看起来有些人已经created some code for this

答案 2 :(得分:0)

您现在可以跨所有平台使用 Storage Explorer 在任何文件夹结构中轻松工作。