Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
yongshao
Helper III
Helper III

Fabric API to create ADLS gen2 connection

I've tried to create a connection to ADLS gen2 account, but always got the "request has an invalid input" error, could someone please provide a correct playload template?

 

import sempy.fabric as fabric
client = fabric.FabricRestClient()
payload = {
'displayName': 'TEST',
'connectivityType': 'ShareableCloud',
'connectionDetails':
{
'type': 'AzureDataLakeStorage',
"creationMethods": [
{

"parameters": [
{
"server": "ADLS gen2 account string"
},
{
"path": "/"
}
]
}
],
},
'privacyLevel': 'Organizational',
'credentialDetails':
{
'credentialType': 'Key',
'singleSignOnType': 'None',
'connectionEncryption': 'NotEncrypted',
'skipTestConnection': False,
'credentials':{
       'key': 'access key value'
}
}
}
response = client.post(f"/v1/connections/", json=payload)
3 REPLIES 3
yongshao
Helper III
Helper III

We can manually setup such connection via Fabric UI, but for production we have to use Fabric API to create a connection with ADLS gen2 account

 

I cannot find any payload template or format for such connection creation from https://learn.microsoft.com/en-us/rest/api/fabric/core/connections/create-connection?tabs=HTTP

it'll be helpful if you could provide the followings:

for SQL, it's 

 

"connectionDetails": {
    "type": "SQL",
    "creationMethod": "SQL"
}

 

 

what's the values of type and creationMethod for Azure Data Lake Storage Gen2?
 
for basic authentication, it's 

 

"credentials": {
      "credentialType": "Basic",
      "username": "admin",
      "password": "********"
    }

 

what's the syntax of credentials for Service principal authentication? 
Anonymous
Not applicable

Hi @yongshao,

Perhaps you can tried to use "tenant_id", "client_id","client_secret", "storage_account_name",
"container_name" and "file_path" as the configuration that use in requests:

import requests

# configuration
tenant_id = "your-tenant-id"
client_id = "your-client-id"
client_secret = "your-client-secret"
storage_account_name =  "your-storage-account-name"
container_name =  "your-container-name"
file_path = "path/to/your/file"

# Get an access token
url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
payload = {
    'grant_type': 'client_credentials',
    'client_id': client_id,
    'client_secret': client_secret,
    'scope': 'https://storage.azure.com/.default'
}
response = requests.post(url, data=payload)
access_token = response.json().get('access_token')

# Access data from Azure Data Lake Storage Gen2
storage_url = f"https://{storage_account_name}.dfs.core.windows.net/{container_name}/{file_path}"
headers = {
    'Authorization': f'Bearer {access_token}'
}
response = requests.get(storage_url, headers=headers)

Regards,

Xiaoxin Sheng

Anonymous
Not applicable

Hi @yongshao ,

Can you please share some more detail information about this issue? They should help us clarify your scenario and test to troubleshoot.

How to Get Your Question Answered Quickly  

Regards,

Xiaoxin Sheng

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June FBC25 Carousel

Fabric Monthly Update - June 2025

Check out the June 2025 Fabric update to learn about new features.