This post is how to work with mounts on Synapse.
I suggest mounting to an ADLS storage account. That is what I will assume in the below examples.
List Mounts
from notebookutils import mssparkutils mssparkutils.fs.mounts()
Get Mount Path
The output of this command will produce ‘/synfs/<number>/mnt/<CONTAINER_NAME>’
from notebookutils import mssparkutils mount_name = "/mnt/<CONTAINER_NAME>" mount_path = mssparkutils.fs.getMountPath(mount_name)
Unmount
from notebookutils import mssparkutils mount_name = "/mnt/<CONTAINER_NAME>" mssparkutils.fs.unmount(mount_name)
Mount Using a Linked Service
First you must have a linked service created to the storage account. This linked service must be hard-coded and not parameterized in any way.
from notebookutils import mssparkutils container = '<CONTAINER_NAME>' storage_account = '<STORAGE_ACCOUNT_NAME>' sub_folder = '<SUB_FOLDER>' #it should be noted that this isn't required. linked_service_name = '<LINKED_SERVICE_NAME>' mssparkutils.fs.mount( source='abfss://%s@%s.dfs.core.windows.net/%s/' % (container, storage_account, sub_folder), mountPoint='/mnt/%s' % (container), {'linkedService':linked_service_name, 'fileCacheTimeout': 120, 'timeout': 120} )
Mount Using Configs
You will need to get the secret. Refer to Synapse: Get Secret
from notebookutils import mssparkutils client_id = '<CLIENT_ID>' tenant_id = '<TENANT_ID>' container = '<CONTAINER_NAME>' storage_account = '<STORAGE_ACCOUNT_NAME>' sub_folder = '<SUB_FOLDER>' #it should be noted that this isn't required. configs = { "fs.azure.account.auth.type": "OAuth", "fs.azure.account.oauth.provider.type": "org.apache.fs.azurebfs.oauth2.ClientCredsTokenProvider", "fs.azure.account.oauth2.client.id": client_id, "fs.azure.account.oauth2.client.secret": secret, "fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/" tenant_id + "/oauth2/token" } mssparkutils.fs.mount( source='abfss://%s@%s.dfs.core.windows.net/%s' % (container, storage_account, sub_folder), mountPoint='/mnt/%s' % (container), extraConfigs=configs )
You must be logged in to post a comment.