I need to use multiple Blob Storage Accounts in ADF. I am trying to create a single linked service for all storages with parameters. I unable to parameterized managed private endpoint. When I hardcode storage name then managed private endpoint (which has been created in ADF) gets selected automatically. Is there a way to parameterize it through Advance->JSON OR by any other way? ]
Unable to parameterize managed private endpoint. Did not find any Microsoft documentation.
I created Azure data factory and storage account in azure portal. I setup the Integration Runtime as mention below
I created managed private endpoint in Azure Data factory. Manage->Security->managed private endpoint Image for reference:
After creation of managed private endpoint we need to approve in storage account settings. for that I click on Manage approval in azure portal which mentioned above. It takes me to below page
select private end point and click on approve which mentioned below. It approves the private endpoint.
Image for reference:
Managed private endpoint is created and approved successfully.
we can achieve Parameterize Managed Private Endpoint in Blob Linked Service ADF using below Json script
{
"name": "DataLakeBlob",
"type": "Microsoft.DataFactory/factories/linkedservices",
"properties": {
"parameters": {
"StorageAccountEndpoint": {
"type": "String",
"defaultValue": "https://<storage AccountName>.blob.core.windows.net"
}
},
"type": "AzureBlobStorage",
"typeProperties": {
"sasUri": "@{linkedService().StorageAccountEndpoint}"
},
"description": "Test Description"
}
}
Mark the Specify dynamic contents in JSON format when test connection it connected successfully.
Image for reference:
This works from my end please check from your end.