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

如何通过ADF调用虚拟机内的脚本?含其他替代方案咨询

通过Azure服务调用VM内Bash脚本的方案

一、Azure Data Factory(ADF)实现方式

1. 自定义活动 + 自托管集成运行时

  • 在目标VM上部署自托管集成运行时(Self-hosted IR),完成ADF与VM的网络连通配置。
  • 在ADF管道中添加「自定义活动」,将计算目标指定为该自托管IR。
  • 在活动的「命令」字段中输入调用脚本的指令,例如:bash /opt/scripts/your_download_script.sh,运行管道后ADF会在VM上执行该脚本。

2. SSH活动

  • 确保VM开启SSH服务,且NSG规则允许ADF访问VM的SSH端口(默认22)。
  • 在ADF中添加「SSH活动」,配置VM的IP、端口、登录凭据(用户名+密码/SSH密钥)。
  • 在「命令」框中输入脚本调用命令,例如:bash /home/user/download_files.sh,活动会通过SSH远程执行脚本。

二、Azure Functions实现方式

  • 创建PowerShell或Python类型的Function,集成SSH客户端工具:
    • Python可使用paramiko库建立SSH连接,执行脚本命令;
    • PowerShell可借助PSSession模块实现远程SSH调用。
  • 将VM的登录凭据存储在Azure Key Vault中,Function通过访问密钥安全获取凭据,避免硬编码。
  • 可配置HTTP触发器,让其他服务或手动请求触发Function执行脚本。

三、Logic Apps实现方式

  • 在Logic Apps工作流中添加「SSH连接器」,配置VM的SSH连接信息。
  • 添加「运行命令」动作,输入调用Bash脚本的指令,例如:bash /path/to/your_script.sh。
  • 可结合定时触发器或HTTP触发器,实现按需/定时执行脚本的逻辑。

四、Databricks实现方式

  • 在Databricks集群中确保已安装SSH客户端(多数Linux集群默认自带)。
  • 在Notebook或Databricks作业中执行Shell命令,通过SSH连接VM并运行脚本,示例命令:
    ssh -i /path/to/private_key.pem vm-user@vm-public-ip 'bash /opt/scripts/download_script.sh'
    
  • 可将该命令封装为Databricks作业,设置定时调度或通过API触发执行。

五、其他可选方案

  • Azure Automation Runbook:创建PowerShell/Python Runbook,利用SSH连接VM执行脚本,适合周期性任务,自带监控和告警能力。
  • VM自定义脚本扩展:若脚本无需频繁触发,可通过Azure门户或ARM模板部署自定义脚本扩展,直接在VM上执行脚本,适合一次性配置场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:27:05