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

Azure Synapse工作区与GitHub反向同步及自动触发运行需求咨询

GitHub到Azure Synapse反向同步+自动执行实现方案

一、先搞懂Synapse Git集成的文件逻辑

你之前看到的JSON格式是Synapse的标准存储结构:

  • SQL脚本:实际是.sql文件+配套的JSON元数据(记录脚本关联的SQL池、存放路径等信息)
  • Notebook:本质是Jupyter的.ipynb文件(本身就是JSON结构),同样带元数据文件关联Spark池

直接提交纯SQL/Python代码到Git是不行的,得符合Synapse的存储格式——要么从Synapse Studio导出模板修改,要么手动编写元数据。

二、实现GitHub到Synapse Studio的自动同步

  1. 确认Git分支配置

    • 把GitHub的目标分支设为Synapse的「协作分支」:往这个分支提交符合格式的文件后,Synapse Studio会自动拉取变更,开发中心里直接就能看到最新的脚本和Notebook。
    • 如果用「发布分支」,默认需要手动触发发布到工作区,但也能通过GitHub Actions改成自动发布。
  2. 提交符合格式的文件到GitHub

    • SQL脚本示例:
      新建一个.sql文件写你的SQL逻辑,再配一个同名的.json元数据文件:
      {
        "content": {
          "query": "SELECT * FROM your_target_table",
          "metadata": {
            "name": "MyQueryScript",
            "folder": "/Production/SQLScripts",
            "poolName": "MyDedicatedSQLPool"
          }
        }
      }
      
    • Notebook:直接用本地Jupyter写好导出.ipynb文件,或者从Synapse Studio导出一个现有Notebook当模板修改,确保元数据里指定了对应的Spark池。

三、自动触发计算池运行+查看结果

这步要靠GitHub Actions来实现自动触发:

  1. 编写GitHub Actions工作流
    在仓库里新建.github/workflows/synapse-auto-run.yml,当代码推送到指定分支时,自动调用Azure CLI执行脚本和Notebook:
    jobs:
      synapse-job-runner:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          # 登录Azure,需提前在GitHub Secrets中存入AZURE_CREDENTIALS
          - uses: azure/login@v1
            with:
              creds: ${{ secrets.AZURE_CREDENTIALS }}
          # 执行SQL脚本
          - name: Run SQL Script
            run: |
              az synapse sql script execute \
                --workspace-name your-synapse-workspace-name \
                --name MyQueryScript \
                --sql-pool-name MyDedicatedSQLPool
          # 执行Notebook
          - name: Run Spark Notebook
            run: |
              az synapse notebook start \
                --workspace-name your-synapse-workspace-name \
                --name MyPythonNotebook \
                --spark-pool-name MySparkPool
    
  2. 查看运行结果
    • 执行后直接去Synapse Studio的「监视器」板块看作业状态和输出;也能在GitHub Actions的日志里看执行细节;要是想自动展示结果,可以把输出写到Synapse的湖数据库或Blob存储,再用Synapse仪表板做可视化。

四、关键注意事项

  • GitHub用的服务主体得有Synapse工作区的「Synapse Contributor」权限,不然没法执行作业。
  • Git里的文件路径要和Synapse Studio里的文件夹结构对应,不然同步会出问题。
  • Notebook里的Python依赖要提前在Spark池里配置好,不然运行时会报找不到包的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 19:27:26