Search code examples
azureazure-blob-storageazure-data-factorylinked-service

Parameterize Managed Private Endpoint in Blob Linked Service ADF


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? ]Blob Linked Service

Unable to parameterize managed private endpoint. Did not find any Microsoft documentation.


Solution

  • I created Azure data factory and storage account in azure portal. I setup the Integration Runtime as mention below

    enter image description here

    I created managed private endpoint in Azure Data factory. Manage->Security->managed private endpoint Image for reference:

    enter image description here

    enter image description here

    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

    enter image description here

    select private end point and click on approve which mentioned below. It approves the private endpoint.

    Image for reference:

    enter image description here

    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:

    enter image description here

    This works from my end please check from your end.