A Data Factory or Synapse Workspace can have one or more pipelines. A pipeline is a logical grouping of activities that together perform a task. For example, you may use a web activity to call a Logic App with an HTTP trigger. For standard Logic App with private endpoints, we can not access the Logic App trigger directly from public network. And you will likely to receive the following error message when calling the Logic App from the pipeline:
{ "errorCode": "2108", "message": "Error calling the endpoint 'https://{logicappname}.azurewebsites.net'. Response status code: 'NA - Unknown'. More details: Exception message: 'NA - Unknown [ClientSideException] An error occurred while sending the request.'.\r\nRequest didn't reach the server from the client. This could happen because of an underlying issue such as network connectivity, a DNS failure, a server certificate validation or a timeout. ", "failureType": "UserError", "target": "Web1", "details": [] }
However using managed private endpoint you are able reach the Logic App trigger from the Azure Synapse workspace. In this article we will use Synapse workspace pipeline as an example:
1. You can create the managed private endpoints in Azure Synapse Studio. Go to "Manage"->"Managed private endpoints"->"+New"
2. There is no managed private endpoint for Logic App yet, choose Azure Function instead.
3. Name the managed private endpoint, and choose the subscription. From the dropdown list of the "Azure Function App url", you will find all the Function Apps and the Logic Apps with a HTTP trigger in this subscription. Choose the Logic App you would like to access, and then click "Create"
4. After creation, the managed private endpoint will be in provisioning state first. After provision succeeded, the approval state will be in "Pending"
5. Next go to the Logic App->Networking->Private Endpoint page, you will see a new private endpoint from Synapse in "Pending" state. Click on the pending private endpoint, and click "Approve".
6. Momentarily from the Synapse studio, we can see this managed private endpoint approval state become "Approved".
7. We can test the pipeline with a web activity, make a POST request to the Logic App URL,
8. The pipeline succeeded.
References: