我可以通过 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 方法
我可以在 /sdcard 上下载 SQLite 数据库并从我的 Android 应用程序访问它吗?
从我的 Java 程序访问 URL 时出现 HTTP 503 错误 [重复]