如何在Windows Azure网站上存储文件?

10 浏览
0 Comments

如何在Windows Azure网站上存储文件?

我刚阅读了一篇关于Windows Azure Web Site的文章,我想评估一下这项服务。我们公司刚开发了一个基于ASP.NET MVC的网站,使我们的客户能够下载我们提供的文件,并上传文件。这两个功能都基于我们发送的URL。工作流程很简单:

1. 我们登录到我们的网站,上传一个文件,并获取网站生成的链接。

2. 我们通过电子邮件把链接发送给客户。

3. 客户可以使用这个链接,在不需要验证的情况下轻松地下载文件。

或者

1. 我们登录到网站,获取网站生成的上传链接。

2. 我们通过电子邮件把链接发送给客户。

3. 客户可以使用这个链接,在不需要验证的情况下轻松地上传文件。

我们目前在自己的基础设施中本地托管这个网站。这个网站很少使用,文件也不是很大。我们简单地将它们存储在我们的文件服务器上。

我想了解如何在WAWS上托管这个网站,我首先要问的问题是:实际存储文件有哪些选项?其次:我们的网站在客户下载或上传文件时会向我们内部发送通知电子邮件。WAWS是否支持这个功能?

0
0 Comments

问题的出现的原因是作者需要在Azure Web App上存储文件,并且在生产环境中,他无法使用Azure Blob Storage,因为他所使用的是专用服务器,无法访问文件系统。他发现Azure Web Apps附带了存储空间,可以通过D:\home\site"your path"路径访问,他还提到了通过FTP访问这些存储空间的方法。

解决方法是作者发现当他将文件存储在D:\驱动器上的应用程序本地文件夹中时,这些文件会在所有实例之间共享。作者并没有预料到这一点,并认为这可能会在扩展时导致问题。但是他仍然认为接受答案中的Blob存储是最佳选择,但是使用D:\驱动器对应用程序也是可行的。他希望知道如果应用服务实例在Azure内部迁移,这些文件是否会被保留。

以下是整理后的文章:

最近,我使用Azure Web应用程序向客户展示开发进展。在我的场景中,当应用程序在生产环境中执行时,它将在具有文件系统访问权限的专用服务器上执行,因此我无法使用Azure Blob存储。好在Azure Web应用程序附带了存储空间(大小取决于应用所在的层级),您可以通过D:\home\site"your path"路径访问它,关于这个存储空间的说明可以在这里找到。您可以通过FTP访问它们(这里有说明)。

看起来,当您将文件存储在D:\驱动器上应用程序的本地文件夹中时,这些文件在所有实例之间是共享的。我没有预料到这一点,并认为这可能会在扩展时导致问题。但是我仍然认为接受答案中的Blob存储是最佳选择,但是使用D:\驱动器对应用程序也是可行的。我希望知道如果应用服务实例在Azure内部迁移,这些文件是否会被保留。

原文链接:https://stackoverflow.com/questions/57784011

0
0 Comments

在Windows Azure Web Sites上存储文件的方法是使用Blob Storage。以下是你可能会喜欢的功能:

- 所有上传到此处的文件都会得到一个URL,例如:http://myaccount.blob.core.windows.net/somecontainer/somefile.txt

- 你可以使用自定义的CNAME来获取URL,例如:http://files.mycompany.com/somecontainer/somefile.txt

- 你可以通过共享访问签名为blob应用安全性

- Blob存储非常便宜

- 每个blob都会在Windows Azure数据中心的三台计算机上复制。写入blob会更新所有三个副本,所以后续的读取不会看到不一致的结果。

- 地理复制会在两个相距数百英里的位置(在同一个区域内)之间复制你的Windows Azure Blob和Table数据。

- 每个存储账户限制为100TB

然而,通过Windows Azure发送电子邮件是不可能的,你需要通过第三方来完成。个人上,我使用Amazon SES,但对于Azure用户来说,SendGrid也是一个不错的选择。

我很好奇在多实例共享或保留站点之间是否有任何同步/存储管理/复制,或者blob存储是否真的是唯一的解决方法,例如CMS上传的图片。

- 我相信Azure Web Sites在同一部署的所有实例(例如5个虚拟机)之间共享文件系统(其中文件系统在幕后由blob存储支持)。如果是这样的话,始终保持同步应该是自动的。

那么,我如何配置WordPress网站,以便当我在WordPress上上传图片时,它们会存储在存储blob而不是本地服务器上?我不理解这一部分。因为我有一个运行WordPress的Web应用程序,我受到10G的限制,而我需要更多的空间!

截至2019年,Azure上仍然可以使用SendGrid。

如果你将文件写入Azure App Service,并且只使用单个实例,那么你会冒着丢失这些文件的风险吗?我想知道Azure如何在需要时在数据中心之间迁移部署的文件- 它会移动所有文件,包括部署后创建的文件吗?(如果你进行了扩展而不是升级,如果你的代码没有存储,你肯定会遇到问题,这个答案是避免任何问题的100%正确方法)

0