我可以通过 unc-path 从我的应用服务访问 azure-storage-file 吗?

Posted

技术标签:

【中文标题】我可以通过 unc-path 从我的应用服务访问 azure-storage-file 吗?【英文标题】:Can I access a azure-storage-file from my app-service via unc-path? 【发布时间】:2020-03-04 23:44:24 【问题描述】:

我有一个 azure-app-service,我想在其中访问 azure-storage 上的文件。如果我使用 CloudStorageAccount,效果会很好。

但问题是,我加载了一个本地库,它使用 UNC-Paths 来访问其文件。我找到了一种在本地系统上设置登录凭据的方法。但无法连接,原因是 445 端口被阻塞。

端口问题不应该出现在云端。但似乎我不能再在那里设置凭据了。它总是告诉我我可能无权访问网络资源(“ERROR_ACCESS_DENIED”)。我正在使用函数“WNetAddConnection2A”(https://docs.microsoft.com/en-us/windows/win32/api/winnetwk/nf-winnetwk-wnetaddconnection2a)。

如果我只是尝试使用 UNC-Path,我会收到异常“UnauthorizedAccessException”。

是否可以通过 UNC-Path 从我的应用服务访问存储文件?

【问题讨论】:

【参考方案1】:

您不能使用 Azure 文件并从应用服务中运行的代码访问 UNC 路径,这是由于应用服务使用的沙箱所致

【讨论】:

【参考方案2】:

一种可能性是使用 Windows 容器并在 Azure 应用服务中运行它们。

使用 Windows 容器,Azure 应用服务中不再有沙盒限制。

您可以在此处按照快速入门在应用服务中运行 Windows 容器: https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-windows-container

如果您加入容器,您还可以访问私有 VNet 中的 SMB 共享: https://docs.microsoft.com/en-us/azure/app-service/web-sites-integrate-with-vnet

【讨论】:

以上是关于我可以通过 unc-path 从我的应用服务访问 azure-storage-file 吗?的主要内容,如果未能解决你的问题,请参考以下文章

我需要有一个可以从我的 API 中的任何位置访问但不能从使用 API 的应用程序访问的 java 方法

如何从我的 Facebook 应用程序访问我的客户帐户?

我可以在 /sdcard 上下载 SQLite 数据库并从我的 Android 应用程序访问它吗?

从我的 Java 程序访问 URL 时出现 HTTP 503 错误 [重复]

如何只允许从我的 iOS 应用程序访问我的 MySQL 数据库? (使用 webapp 作为 db 的网关)

我怎样才能从我的用户锁定我的 MS-SQL 数据库,但仍然通过 ODBC 访问它?