{"id":1943,"library":"azure-synapse-managedprivateendpoints","title":"Azure Synapse Managed Private Endpoints","description":"This is the Microsoft Azure Synapse Managed Private Endpoints Client Library for Python, currently at version 0.4.0. It allows programmatic management of managed private endpoints within an Azure Synapse Analytics workspace, which are essential for securing data access over private links. The package is part of the broader Azure SDK for Python, which generally follows an active release cadence, though this specific client library version has remained stable since August 2021.","status":"active","version":"0.4.0","language":"en","source_language":"en","source_url":"https://github.com/Azure/azure-sdk-for-python","tags":["Azure","Synapse","Managed Private Endpoints","Cloud","Networking","Security","SDK"],"install":[{"cmd":"pip install azure-synapse-managedprivateendpoints azure-identity","lang":"bash","label":"Install with pip"}],"dependencies":[{"reason":"Core shared client functionality for Azure SDKs.","package":"azure-core","optional":false},{"reason":"Provides Azure Active Directory authentication, typically required for all Azure SDKs.","package":"azure-identity","optional":false}],"imports":[{"note":"This is the primary client for interacting with Synapse Managed Private Endpoints.","symbol":"VnetClient","correct":"from azure.synapse.managedprivateendpoints import VnetClient"},{"note":"Standard authentication method for Azure SDKs, supporting various credential types.","symbol":"DefaultAzureCredential","correct":"from azure.identity import DefaultAzureCredential"}],"quickstart":{"code":"import os\nfrom azure.identity import DefaultAzureCredential\nfrom azure.synapse.managedprivateendpoints import VnetClient\n\n# Your Azure Synapse workspace development endpoint, e.g., \"https://<your-workspace-name>.dev.azuresynapse.net\"\nSYNAPSE_WORKSPACE_ENDPOINT = os.environ.get(\"SYNAPSE_WORKSPACE_ENDPOINT\", \"https://your_synapse_workspace.dev.azuresynapse.net\")\n\n# Create a credential using DefaultAzureCredential.\n# DefaultAzureCredential will attempt to authenticate through multiple mechanisms,\n# including environment variables, managed identity, and development tools.\ncredential = DefaultAzureCredential()\n\n# Create a VnetClient\n# The default API version is '2020-12-01'.\nvnet_client = VnetClient(credential, SYNAPSE_WORKSPACE_ENDPOINT)\n\nprint(\"Listing managed private endpoints...\")\n# The .list() method is paginated, so iterate through the results.\nmanaged_private_endpoints = vnet_client.managed_private_endpoints.list()\nfor mpe in managed_private_endpoints:\n    print(f\"  - Name: {mpe.name}, Status: {mpe.properties.provisioning_state}, Approval: {mpe.properties.private_link_connection_state.status}\")\n","lang":"python","description":"This quickstart demonstrates how to authenticate with Azure using `DefaultAzureCredential` and then initialize the `VnetClient` for Azure Synapse Managed Private Endpoints to list existing private endpoints in your workspace. Ensure `SYNAPSE_WORKSPACE_ENDPOINT` is set to your Synapse workspace's development endpoint."},"warnings":[{"fix":"Plan your Synapse workspace network configuration carefully during creation. If Managed VNet is required for managed private endpoints, enable it from the outset. For existing workspaces without it, recreation and migration are necessary.","message":"Enabling a Managed Virtual Network (VNet) or Managed Private Endpoints cannot be done on an existing Azure Synapse workspace. This is a critical design choice at workspace creation. If you need these features and your workspace wasn't initially configured with them, you must create a new Synapse workspace and migrate your artifacts.","severity":"breaking","affected_versions":"<=0.4.0"},{"fix":"Review your Synapse workspace configurations and plan for migration to a Managed Virtual Network with managed private endpoints for all critical linked services before the deadline.","message":"A critical transition is required for Azure Synapse Analytics workspaces to private links before August 1, 2026. Failure to do so may result in the loss of connectivity to Azure Storage and Key Vault. This transition necessitates that your workspace uses a Managed Virtual Network, which might require recreating your workspace if not initially configured.","severity":"breaking","affected_versions":"All versions (service-level change)"},{"fix":"Always coordinate with the owner of the target resource to approve pending private endpoint connections in the Azure portal or via appropriate Azure CLI/PowerShell commands.","message":"When creating a managed private endpoint, it will initially be in a 'Pending' approval state. The owner of the target Azure resource (e.g., Storage Account, Azure SQL Database) must explicitly approve the private endpoint connection for the private link to be established and functional.","severity":"gotcha","affected_versions":"All versions"},{"fix":"For ADLS Gen2 with Data Exfiltration Protection, configure a Managed Private Endpoint targeting the blob endpoint (e.g., `accountname.blob.core.windows.net`) in addition to any dfs endpoint MPEs.","message":"When using Azure Synapse Spark utilities (e.g., `mssparkutils.fs.mount`) with Data Exfiltration Protection enabled, and connecting to Azure Data Lake Storage Gen2, ensure that you create a Managed Private Endpoint specifically for the *blob* endpoint of the storage account, not just the *dfs* endpoint. Otherwise, DNS resolution issues may occur.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Directly install the `azure-synapse-managedprivateendpoints` package and other specific Synapse service packages as needed, rather than the `azure-synapse` meta-package.","message":"The general `azure-synapse` meta-package is officially deprecated and will no longer be maintained after 2020-04-13 (receiving only security fixes until then). Users are advised to install service-specific packages, such as `azure-synapse-managedprivateendpoints`, directly.","severity":"deprecated","affected_versions":"Not applicable to this package, but affects usage of the older meta-package."}],"env_vars":null,"last_verified":"2026-04-09T00:00:00.000Z","next_check":"2026-07-08T00:00:00.000Z"}