我可以从我的Azure应用服务(而非VM)映射到Azure存储文件中的驱动器



我有一个Azure应用服务和一个Azure存储帐户。我知道应用程序服务后面有服务器/VM,但我尚未明确启动一台计算机。

我正在尝试从访问数据库中导入数据,该数据库将定期上传到我的存储帐户中的文件展览会。我想使用Azure Webjob在后台完成工作。

我正在尝试使用dao读取数据:

string path = @"\serversharefolderdatbase.mdb";
DBEngine dbe = new DBEngine();
Database db = dbe.OpenDatabase(path);
DAO.Recordset rs = db.OpenRecordset("select * from ...");

当我本地运行它时,这起作用了,但是当我尝试在我的Web作业中运行它以访问存储帐户中的文件展示时,它找不到文件。我认为这是因为Dbengine对Azure和Azure帐户名称和安全密钥一无所知,并且Azure存储没有响应。

所以我想尝试的是查看是否可以将Azure存储文件映射到我的应用程序服务的服务器上。我已经尝试了许多不同的事情,但是每次都会收到"访问拒绝"的变化。我尝试了:

  • 运行网络使用t: name.file.core.windows.net azurefileshare/u:从Azure Portal中的App Service控制台命名键
  • 跑步从我的WebJob中的一个过程中的净使用
  • 调用wnetaddconnection2从我的webjob中

看起来服务器被锁定了。有人对我如何能够将文件展示映射到基础服务器上有任何想法吗?

非常感谢

据我所知,Azure Web应用程序在沙箱中运行。我们无法将Azure文件共享到Azure Web应用程序。因此,如果您选择Azure Web应用程序,则Azure文件存储是一个好地方。根据我的经验,下面有适合您的解决方法。希望这可以给您一些提示。

1)使用Azure文件存储,但选择Azure VM或云服务作为主机服务。

2)仍然选择Azure Web应用程序作为主机服务,但在解决方案中包括访问DB并上传到Azure Web应用程序。

3)选择SQL Azure作为数据库。这是可以帮助我们将访问数据库迁移到SQL Azure

的文章

最后,正如詹伯(Jambor)正确地说,应用程序服务VM被紧密锁定。

但是,事实证明,应用程序服务VM带有一些本地临时存储,用于使用VM上运行的各种组件。

这是在d: local temp 中,可以通过网络作业写入。

有趣的是,这是d: local的不同共享/驱动器上的逻辑文件夹,此附加存储的大小取决于应用程序服务的规模。

最新更新