如何将文件添加到 Azure 应用服务中的虚拟目录
Posted
技术标签:
【中文标题】如何将文件添加到 Azure 应用服务中的虚拟目录【英文标题】:How to add a file to a virtual directory in Azure App Service 【发布时间】:2021-12-21 18:24:59 【问题描述】:我将 asp.net mvc 应用程序作为应用服务托管在 Azure 上......Example.com
我需要一个可以将我的 Google 购物提要作为文本文件托管的位置,因此我在我的 Azure 门户中为该 Example.com 应用服务创建了一个虚拟目录。
虚拟目录是 Example.com/myvirtualdirectory 我通过转到 (Configurations > Path Mappings > + New Virtual application or directory) 创建了这个我将 virtual path 命名为 /myvirtualdirectory 然后我将 physical path 命名为 site \wwwroot 和 Type 作为目录。
现在我已经创建了目录,如何在该目录中获取包含我的 ShoppingFeed 的 txt 文件?当我访问 URL Example.com/myvirtualdirectory 时,我看到 Azure 中的一个页面已启动并正在运行,上面写着:“嘿,应用服务开发人员!您的应用服务已启动并正在运行。是时候采取下一步行动并进行部署了你的代码。"
这样做的目的是,当 Google 计划获取我的最新 Feed 数据时,它会访问该网址并能够查看我的所有产品 Feed 信息。
那么我如何将我的文件放到那个位置呢?我是否必须第一次在 Azure 门户中的某个地方上传它?
我是否还必须在 Visual Studio 中的实际应用程序上创建目录?如果是这样,我该怎么做?如果这是我必须做的,我该如何在我的实际项目中创建一个虚拟路径或目录?
既然混合了 VD,这将如何影响我今后的部署?目前现有的应用程序没有虚拟目录,我通过单击 Visual Studio 中的“发布”进行部署。它直接部署到 Azure 应用服务。
【问题讨论】:
【参考方案1】:"嗨,应用服务开发人员!您的应用服务已启动,并且 正在运行。是时候采取下一步行动并部署您的代码了。"
这是因为默认文档。确保您的默认页面列在此处并且位于hostingstart.html
上方
您可以在“默认文档”列表中添加默认文档。
转到 Azure 门户 ->Web 应用程序 -> 设置 -> 应用程序设置 -> 默认文档 -> 添加并保存。
您也可以使用 Kudu 控制台检查部署的文件是否可用。 -确保您的启动文件(例如:index.htm)已添加到默认文档中
最简单的方法是使用 KUDU 控制台上传文件。要访问控制台,请导航到https://<yoursite>.scm.azurewebsites.net
,其中<yoursite>
是您的应用程序的名称
在 Kudu 控制台中,单击 Debug Console 选项卡,然后单击 CMD。这将打开一个文件浏览器,您可以在其中导航到您的目录并上传文件。
更新答案:
将 web.config 文件添加到您的 azure 目录。将以下代码添加到其中。
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="REQUEST_FILENAME" matchType="IsFile" negate="true" />
<add input="REQUEST_FILENAME" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
【讨论】:
嘿,谢谢,我按照这些说明操作并通过 Kudu 控制台添加了名为 GoogleFeedFile.txt 的文件,方法是从屏幕截图转到 ui,然后转到根目录,然后单击 + 号,然后命名文档,然后将数据粘贴到文本区域。然后我尝试访问该 URL Example.com/myvirtualdirectory/GoogleFeedFile.txt,但它没有显示我的数据。我只是得到旧的“您要查找的资源已被删除、名称已更改或暂时不可用”空白页。我是否在其中一个步骤中转错了一步? 尝试将以下内容添加到 Web.config:以上是关于如何将文件添加到 Azure 应用服务中的虚拟目录的主要内容,如果未能解决你的问题,请参考以下文章
如何通过私有 DNS 名称从虚拟网络中的应用服务访问 Azure VM?
Azure Active Directory:使用 PowerShell 将服务主体添加到目录读取者角色