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

时间:2016-12-09 03:39:05

标签: ms-access azure-storage azure-webjobs azure-web-app-service fileshare

我有Azure应用服务和Azure存储帐户。我知道app服务背后有一个server / vm,但我还没有明确启动一台机器。

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

我试图使用DAO来读取数据:

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

当我在本地运行它时,这会有效,但是当我尝试在访问我的存储帐户中的文件共享的Web作业中运行它时,它找不到该文件。我认为这是因为DBEngine对Azure和Azure帐户名称和安全密钥一无所知,也没有发送它们,Azure存储也没有响应。

所以我想尝试的是看看我是否可以将Azure存储文件共享映射到我的App Service下面的服务器上。我尝试了很多不同的东西,但收到了“拒绝访问”和#34;每一次。我试过了:

  • 运行网络使用T:\ name.file.core.windows.net \ azurefileshare / u:Azure门户中的App Service控制台的名称密钥
  • 运行 来自我的webjob中的进程的净使用
  • 调用WNetAddConnection2 来自我的webjob

看起来服务器已被锁定。有没有人对我如何能够将文件共享映射到底层服务器有任何想法?

非常感谢

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

最后,正如Jambor正确地说的那样,App Service VM被锁定了。

然而,事实证明,App Service VM附带了一些本地临时存储,用于使用VM上运行的各种组件。

这是在D:\ local \ Temp \,可以通过Web作业写入。

有趣的是,这是与D:\ local不同的共享/驱动器上的逻辑文件夹,此附加存储的大小取决于App Service的规模。