Configuring an ADF Linked Service Connection for Salesforce V2
For information on how to enable a connection for use with linked services, see Configuring a Linked Service Connection.
Field labels in this walkthrough follow the underlying Azure Data Factory property names, with the connection column that carries each value named alongside. The exact labels shown in the BimlFlex Connection Editor may differ.
After selecting Salesforce V2 from the Linked Service Type dropdown, the form required for creating a Salesforce V2 Linked Service will appear.
Source Only Connector
A Salesforce V2 connection is used as a source. It is not available as a target.
Each Salesforce object is read with a source query. The dataset carries no table name and no parameters, and the query on the copy source names the object.
An ExecuteSqlOnSource parameter query runs as a Lookup activity.
Choosing an Authentication Method
| Method | Credentials | Additional Settings |
|---|---|---|
| OAuth2 Client Credentials | Service Principal Id and Service Principal Key | None |
Recommendation: Store the Service Principal Key in Azure Key Vault rather than entering it as plaintext.
Complete Example: OAuth2 Client Credentials with Azure Key Vault
| Field | Example Value |
|---|---|
| Connect via Integration Runtime | AutoResolveIntegrationRuntime |
| Endpoint | https://contoso.my.salesforce.com |
| Service Principal Id | <client-id-of-connected-app> |
| Azure Key Vault Linked Service | bfx-kv |
| Secret Name (for Service Principal Key) | BFX-LND-SalesforceClientSecret |
| Api Version | 52.0 |
Required Fields
Common Required Fields
A Salesforce V2 Linked Service connection uses a single Authentication Type, so the same fields are required on every connection.
These common required fields are:
- Connect via Integration Runtime
- Endpoint
- Service Principal Id
- Service Principal Key (or Azure Key Vault)
- Api Version
Connect via Integration Runtime
Connect via Integration Runtime names the integration runtime for a Salesforce V2 Linked Service connection.
The default value is AutoResolveIntegrationRuntime.
To use another runtime, select it from the dropdown or choose + New to add one.
When a custom value is saved in the linked service form, it will be added to the custom integration runtimes.
The custom values that appear in this dropdown can be maintained in Settings under Azure - AzureIntegrationRuntime.
Endpoint
The Endpoint identifies the Salesforce instance the connector reads from (for example, https://contoso.my.salesforce.com).
It is stored in the connection's LS_Endpoint column and maps to the ADF environmentUrl property.
When the Endpoint column is empty, the value is read from the connection's Additional Settings (LS_AdditionalSettings) under the key endpoint.
Authentication Type
The Salesforce V2 Linked Service connection signs in with OAuth 2.0 client credentials.
BimlFlex writes the Authentication Type OAuth2ClientCredentials to the linked service, the only authentication the service accepts, and does not read the connection's Authentication Type column.
For OAuth2 Client Credentials, a Service Principal Id and Service Principal Key are required.
OAuth2 Client Credentials
OAuth2 Client Credentials authentication authorizes API access with a Service Principal Id and Service Principal Key.
The Service Principal Id supplies the client id and is stored in the connection's LS_ServicePrincipalId column. It maps to the ADF clientId property.
The Service Principal Key supplies the client secret as plaintext in the LS_ServicePrincipalKey column, or as an Azure Key Vault reference held in the LS_ServicePrincipalKeyKVS_ fields that resolves to the secret at runtime.
When the connection's LS_EncryptedCredential column holds an Encrypted Credential value, it is also written to the linked service.
It is suggested that Azure Key Vault be used in place of manually entering the Service Principal Key.
Api Version
The Api Version selects the Salesforce Bulk API 2.0 version the connector uses (for example, 52.0).
Azure Data Factory requires an API version for this linked service.
It is stored in the connection's LS_ApiVersion column and maps to the ADF apiVersion property. BimlFlex writes it to the linked service when the column is set.
Azure Data Factory Linked Service Additional Information
For additional information on ADF Salesforce V2 Linked Service and its connection requirements see the Azure Data Factory Salesforce V2 Connector documentation.