apiVersion
property in linked service.Property | Description | Required |
---|---|---|
type | The type property must be set to Salesforce. | Yes |
environmentUrl | Specify the URL of the Salesforce instance. - Default is 'https://login.salesforce.com' . - To copy data from sandbox, specify 'https://test.salesforce.com' . - To copy data from custom domain, specify, for example, 'https://[domain].my.salesforce.com' . | No |
username | Specify a user name for the user account. | Yes |
password | Specify a password for the user account. Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. | Yes |
securityToken | Specify a security token for the user account. To learn about security tokens in general, see Security and the API. The security token can be skipped only if you add the Integration Runtime's IP to the trusted IP address list on Salesforce. When using Azure IR, refer to Azure Integration Runtime IP addresses. For instructions on how to get and reset a security token, see Get a security token. Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. | No |
apiVersion | Specify the Salesforce REST/Bulk API version to use, e.g. 48.0 . By default, the connector uses v45 to copy data from Salesforce, and uses v40 to copy data to Salesforce. | No |
connectVia | The integration runtime to be used to connect to the data store. If not specified, it uses the default Azure Integration Runtime. | No for source, Yes for sink if the source linked service doesn't have integration runtime |
Property | Description | Required |
---|---|---|
type | The type property must be set to SalesforceObject. | Yes |
objectApiName | The Salesforce object name to retrieve data from. | No for source, Yes for sink |
Property | Description | Required |
---|---|---|
type | The type property of the dataset must be set to RelationalTable. | Yes |
tableName | Name of the table in Salesforce. | No (if 'query' in the activity source is specified) |
Property | Description | Required |
---|---|---|
type | The type property of the copy activity source must be set to SalesforceSource. | Yes |
query | Use the custom query to read data. You can use Salesforce Object Query Language (SOQL) query or SQL-92 query. See more tips in query tips section. If query is not specified, all the data of the Salesforce object specified in 'objectApiName' in dataset will be retrieved. | No (if 'objectApiName' in the dataset is specified) |
readBehavior | Indicates whether to query the existing records, or query all records including the deleted ones. If not specified, the default behavior is the former. Allowed values: query (default), queryAll. | No |
Property | Description | Required |
---|---|---|
type | The type property of the copy activity sink must be set to SalesforceSink. | Yes |
writeBehavior | The write behavior for the operation. Allowed values are Insert and Upsert. | No (default is Insert) |
externalIdFieldName | The name of the external ID field for the upsert operation. The specified field must be defined as 'External ID Field' in the Salesforce object. It can't have NULL values in the corresponding input data. | Yes for 'Upsert' |
writeBatchSize | The row count of data written to Salesforce in each batch. | No (default is 5,000) |
ignoreNullValues | Indicates whether to ignore NULL values from input data during a write operation. Allowed values are true and false. - True: Leave the data in the destination object unchanged when you do an upsert or update operation. Insert a defined default value when you do an insert operation. - False: Update the data in the destination object to NULL when you do an upsert or update operation. Insert a NULL value when you do an insert operation. | No (default is false) |
{call '<report name>'}
. An example is 'query': '{call 'TestReport'}'
.readBehavior
as queryAll
.Syntax | SOQL Mode | SQL Mode |
---|---|---|
Column selection | Need to enumerate the fields to be copied in the query, e.g. SELECT field1, filed2 FROM objectname | SELECT * is supported in addition to column selection. |
Quotation marks | Filed/object names cannot be quoted. | Field/object names can be quoted, e.g. SELECT 'id' FROM 'Account' |
Datetime format | Refer to details here and samples in next section. | Refer to details here and samples in next section. |
Boolean values | Represented as False and True , e.g. SELECT … WHERE IsDeleted=True . | Represented as 0 or 1, e.g. SELECT … WHERE IsDeleted=1 . |
Column renaming | Not supported. | Supported, e.g.: SELECT a AS b FROM … . |
Relationship | Supported, e.g. Account_vod__r.nvs_Country__c . | Not supported. |
SELECT Id, Name, BillingCity FROM Account WHERE LastModifiedDate >= @{formatDateTime(pipeline().parameters.StartTime,'yyyy-MM-ddTHH:mm:ssZ')} AND LastModifiedDate < @{formatDateTime(pipeline().parameters.EndTime,'yyyy-MM-ddTHH:mm:ssZ')}
SELECT * FROM Account WHERE LastModifiedDate >= {ts'@{formatDateTime(pipeline().parameters.StartTime,'yyyy-MM-dd HH:mm:ss')}'} AND LastModifiedDate < {ts'@{formatDateTime(pipeline().parameters.EndTime,'yyyy-MM-dd HH:mm:ss')}'}
Salesforce data type | Data Factory interim data type |
---|---|
Auto Number | String |
Checkbox | Boolean |
Currency | Decimal |
Date | DateTime |
Date/Time | DateTime |
String | |
ID | String |
Lookup Relationship | String |
Multi-Select Picklist | String |
Number | Decimal |
Percent | Decimal |
Phone | String |
Picklist | String |
Text | String |
Text Area | String |
Text Area (Long) | String |
Text Area (Rich) | String |
Text (Encrypted) | String |
URL | String |