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.