pyspark 获取Azure Synapse Analytics中所有Synapse笔记本名称的列表

xdnvmnnf  于 2023-04-05  发布在  Spark
关注(0)|答案(1)|浏览(135)

在Azure Synapse Analytics中,我尝试创建一个返回所有笔记本名称的列表的代码。
在databricks中,我验证了这两种解决方案是可能的:

  1. https://docs.databricks.com/dev-tools/api/latest/workspace.html#example
  2. Get list of all notebooks in my databricks workspace
    ,但我无法获得synapse notebook的解决方案。
    有人能帮我实现这一点吗?
    谢谢大家!
ffx8fchx

ffx8fchx1#

  • 你可以使用Azure synapse REST API来获取synapse工作区中可用的notebook列表。下面是一个图像,显示了我的synapse工作区中可用的notebook沿着可用于实现需求的代码。

#install msal using !pip install msal for getting bearer token
import msal

client_id = "<client_id>"
authority = "https://login.microsoftonline.com/<tenant_id>"
client_secret = "<client_secret>"

# Create a ConfidentialClientApplication instance
app = msal.ConfidentialClientApplication(client_id=client_id, authority=authority, client_credential=client_secret)

# Get the token
scopes = ["https://dev.azuresynapse.net/.default"]
result = app.acquire_token_for_client(scopes=scopes)
print(result)

  • 使用python的requests库(GET方法)调用synapse Rest API。
import requests

response = requests.get("https://synapse3003.dev.azuresynapse.net/notebooks?api-version=2020-12-01", headers = {"Authorization":f"Bearer {result['access_token']}"}).json()

print(len(response['value']))

for i in response['value']:
    print(i)

**注意:**您需要通过导航到azure AD-〉App registration来创建一个服务原则。然后转到您的synapse studio-〉manage tab-〉Access control,然后添加您的服务原则,并使用相应的角色来创建token,如上面的过程。

相关问题