Forum Discussion
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?
3 Replies
- AnonymousNot 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
- yongshaoHelper 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?- AnonymousNot 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