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

如何从本地开发环境连接Azure Synapse获取数据?

本地开发环境对接Azure Synapse取数方案

核心思路

仅通过Azure Synapse获取数据,模型开发、代码运行全在本地Anaconda/VSCode/PyCharm环境完成,通过官方SDK或数据库驱动直接对接Synapse数据源,摆脱浏览器端Synapse Studio的限制。

具体实施步骤

1. 搭建本地Python环境

  • 用Anaconda创建独立虚拟环境,避免依赖冲突:
    conda create -n synapse-local python=3.9
    conda activate synapse-local
    
  • 安装对接Synapse所需依赖包:
    • 若对接Synapse Spark池:pip install azure-synapse-spark azure-identity
    • 若对接Synapse SQL池:pip install pyodbc(需提前在本地安装ODBC Driver 17 for SQL Server驱动程序)

2. 配置Synapse访问权限

  • 登录Azure门户,进入Synapse工作区→网络→防火墙,将本地公网IP添加到允许列表,确保本地能访问Synapse服务。
  • 创建并配置服务主体(推荐):在Azure AD中注册应用,给该主体分配Synapse工作区的“Storage Blob Data Reader”和“SQL DB Reader”权限,用于身份验证。

3. 本地代码连接Synapse取数

对接Spark池示例

from azure.synapse.spark import SparkClient
from azure.identity import DefaultAzureCredential

# 替换为你的Synapse工作区URL
workspace_url = "https://<你的工作区名称>.dev.azuresynapse.net"
credential = DefaultAzureCredential()  # 自动读取本地Azure认证信息(如Azure CLI登录状态)

client = SparkClient(workspace_url, credential)
# 读取Synapse中的Spark表
df = client.spark_session.read.table("数据库名.架构名.表名")
# 后续本地处理逻辑
df.show()

对接SQL池示例

import pyodbc

# 替换为你的SQL池连接信息
server = "<sql池服务器名>.database.windows.net"
database = "<sql池名称>"
username = "<服务主体用户名/AD账号>"
password = "<服务主体密码/AD密码>"
driver = "{ODBC Driver 17 for SQL Server}"

# 建立连接并查询数据
conn = pyodbc.connect(f"DRIVER={driver};SERVER={server};PORT=1433;DATABASE={database};UID={username};PWD={password}")
cursor = conn.cursor()
cursor.execute("SELECT TOP 10 * FROM 架构名.表名")
rows = cursor.fetchall()

# 转换为DataFrame后续处理(可选)
import pandas as pd
df = pd.DataFrame.from_records(rows, columns=[desc[0] for desc in cursor.description])
print(df.head())

4. 本地开发工具优化

  • VSCode:安装Azure Synapse Analytics扩展,可直观查看Synapse中的数据源结构,代码运行直接用本地虚拟环境执行。
  • PyCharm:将Python解释器设置为Anaconda创建的synapse-local环境,通过“Database”工具添加ODBC连接,快速预览SQL池数据,代码调试全在本地完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:16:22