Within my Synapse notebook, not all of the Synapse "linked services" are available to use. I can connect to linked services for KeyVault and SQL and ADLS, but for some reason I cannot connect to a linked service for a REST API. Why is this connectivity unavailable for a REST API?
Background: Within the Synapse Apache Spark notebook experience, there is a way to connect to remote data by way of the Microsoft "linked service" components. In order to connect to remote data on a "linked service", we need to use the "TokenLibrary" API. See: https://learn.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-secure-credentials-with-tokenlibrary?pivots=programming-language-python
While most linked services work fine, the REST connections do not. Here is the error message that is generated, when trying to interact with this type of a linked service:
An error occurred while calling z:com.microsoft.azure.synapse.tokenlibrary.TokenLibrary.getConnectionString.
: com.microsoft.azure.synapse.tokenlibrary.TokenLibrary$NonRetryableStatusException$1:
POST failed with 'Bad Request' (400) and message: {"result":"DependencyError","errorId":"BadRequest",
"errorMessage":"[Code=LinkedServiceTypeNotSupported, Target=ls_rest_pbi_generic,
Message=Linked Service Type 'RestService' not supported].
TraceId : 16f6eda6-0002-4833-a4d5-7c969317aaaa |
client-request-id : c889cc16-8d19-42eb-ab4b-c2fb5dfeaaaa.
Error Component : LSR"}
Notice that it says that linked services of type "RestService" are not supported. Why are they being excluded? I'm fairly certain that the linked services for "AzureKeyVault" are using HTTP/REST internally, so it seems like we should also be able to connect to a linked service for our own custom REST api! Please help me understand the conceptual/technical reason why one of these works and not the other.