You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure App Services部署集成Azure Active Directory的R Shiny应用?

部署R Shiny应用到Azure App Service并集成Azure AD认证流程

一、先把Shiny应用准备好

  • 确认你的应用代码完整:要有app.R(或者拆分的ui.R+server.R),所有依赖的R包、本地数据文件都放在项目根目录里。
  • 锁定依赖版本:在R Studio里运行renv::init(),生成renv.lock文件,避免部署时因为版本差异出问题。
  • 根目录建个空的requirements.txt文件——App Service的R运行时基于Python环境,这个文件是必填项,不用填内容也行。

二、创建Azure App Service实例

  • 登录Azure门户,搜索「Web App」新建实例:
    • 选好订阅和资源组,给应用起个全局唯一的名字。
    • 发布方式选「代码」,运行时堆栈挑你使用的R版本(比如R 4.2),操作系统选Linux(对R的支持更稳定)。
    • 定价层按需选择,测试用免费层即可。
  • 实例创建完成后,进入「配置」>「通用设置」,把启动命令改成:R -e "shiny::runApp('/home/site/wwwroot', host='0.0.0.0', port=80)"——告诉App Service如何启动你的Shiny应用。

三、把应用部署到App Service

方式1:本地Git推送

  • 进入App Service的「部署中心」,选择「本地Git」作为部署源,复制生成的Git地址。
  • 在本地项目根目录里,先初始化Git(未初始化过的话):git init,然后执行git add .、git commit -m "首次部署"。
  • 添加Azure远程仓库:git remote add azure <刚才复制的Git URL>,最后执行git push azure master——推送完成后App Service会自动构建并运行应用。

方式2:Azure CLI一键部署

  • 安装Azure CLI并登录:az login。
  • 转到本地项目根目录,运行命令:az webapp up --name <你的App Service名称> --resource-group <你的资源组名> --runtime "R:4.2"——这条命令会自动打包代码并部署到指定的App Service。

四、集成Azure AD认证

  • 回到App Service的门户页面,点击「Authentication」(认证)选项卡。
  • 点击「添加身份提供者」,选择「Microsoft」。
  • 配置身份提供者:
    • 选择「创建新的Azure AD应用」,给它起个名字(和App Service同名即可)。
    • 重定向URI会自动填充为https://<你的App Service名>.azurewebsites.net/.auth/login/aad/callback,直接确认即可。
    • 权限保持默认,有特殊需求再额外添加。
  • 调整认证规则:
    • 「未认证时的操作」选择「登录」,这样用户访问应用时会直接跳转到AAD登录页面。
    • 可以设置受保护路径,默认是整个应用,也可以指定部分路径需要认证。
  • 保存设置,等待几分钟让配置生效。

五、验证效果

  • 打开你的App Service地址:https://<你的App Service名>.azurewebsites.net,应该会自动跳转到Azure AD登录界面,使用授权的账号登录后就能正常使用Shiny应用了。
  • 测试应用的各项功能,确认所有依赖包都已正确安装并运行正常。

内容的提问来源于stack exchange,提问作者alif shaikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 20:16:05