Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’APPLIQUE À :
Azure Data Factory
Azure Synapse Analytics
Tip
Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, la business intelligence et le reporting. Découvrez comment démarrer un nouvel essai gratuitement !
Cet article décrit comment utiliser l’activité Copy dans des pipelines Azure Data Factory et Azure Synapse pour copier des données à partir de et vers Salesforce Service Cloud. Il s’appuie sur l’article Vue d’ensemble de l’activité de copie.
Important
Le connecteur Salesforce Service Cloud V1 est à l’étape de suppression. Vous êtes recommandé de mettre à niveau le connecteur Salesforce Service Cloud de V1 vers V2.
Fonctionnalités prises en charge
Ce connecteur Salesforce Service Cloud est pris en charge pour les fonctionnalités suivantes :
| Fonctionnalités prises en charge | IR |
|---|---|
| Activité Copy (source/récepteur) | (1) (2) |
| Activité de recherche | (1) (2) |
① Runtime d’intégration Azure ② Runtime d’intégration auto-hébergé
Pour obtenir la liste des magasins de données pris en charge en tant que sources ou récepteurs, consultez la table Magasins de données pris en charge.
Plus précisément, ce connecteur Salesforce Service Cloud prend en charge les éléments suivants :
- Développeur Salesforce, éditions professionnelle, d’entreprise ou illimitées.
- Copier de données depuis et vers un domaine personnalisé (un domaine personnalisé peut être configuré dans les environnements de production et de bac à sable).
Vous pouvez définir explicitement la version de l’API utilisée pour lire/écrire des données via la propriété apiVersion dans le service lié. Lors de la copie de données vers Salesforce Service Cloud, le connecteur utilise l’API BULK 2.0.
Prerequisites
L’autorisation de l’API doit être activée dans Salesforce.
Vous devez configurer les applications connectées dans le portail Salesforce en faisant référence à ce document officiel ou à nos instructions pas à pas dans la suggestion de cet article.
Important
- L’utilisateur d’exécution doit disposer de l’autorisation API uniquement.
- L’heure d’expiration du jeton d’accès peut être modifiée par le biais de stratégies de session plutôt que par le jeton d’actualisation.
Limites de l’API en bloc Salesforce 2.0
Nous utilisons l’API en bloc Salesforce 2.0 pour interroger et ingérer des données. Dans l’API en bloc 2.0, les lots sont créés automatiquement. Vous pouvez envoyer jusqu’à 15 000 lots par période propagée de 24 heures. Si les lots dépassent la limite, des échecs se produiront.
Dans l’API en bloc 2.0, seuls les travaux d’ingestion consomment des lots. Les travaux de requête ne le font pas. Pour plus d’informations, consultez Comment les requêtes sont traitées dans le Guide du développeur de l’API en bloc 2.0.
Pour plus d’informations, consultez la section « Limites généraux » dans Salesforce Developer Limits (Limites des développeurs Salesforce).
Get started
Pour effectuer l’activité de copie avec un pipeline, vous pouvez utiliser l’un des outils ou kits sdk suivants :
- Outil Copier des données
- portail Azure
- Kit de développement logiciel (SDK) .NET
- Kit de développement logiciel (SDK) Python
- Azure PowerShell
- REST API
- Modèle Azure Resource Manager
Créez un service lié à Salesforce Service Cloud à l’aide de l’interface utilisateur
Utilisez les étapes suivantes pour créer un service lié à Salesforce Service Cloud dans l’interface utilisateur du portail Azure.
Accédez à l’onglet Gérer dans votre espace de travail Azure Data Factory ou Synapse, sélectionnez Services liés, puis cliquez sur Nouveau :
Recherchez Salesforce et sélectionnez le connecteur Salesforce Service Cloud.
Configurez les informations du service, testez la connexion et créez le nouveau service lié.
Détails de configuration du connecteur
Les sections suivantes fournissent des informations sur les propriétés utilisées pour définir des entités propres au connecteur Salesforce Service Cloud.
Propriétés du service lié
Les propriétés suivantes sont prises en charge pour le service lié Salesforce Service Cloud.
| Property | Description | Required |
|---|---|---|
| type | La propriété de type doit être définie sur SalesforceServiceCloudV2. | Yes |
| environmentUrl | Spécifiez l’URL de l’instance Salesforce Service Cloud. Par exemple, spécifiez "https://<domainName>.my.salesforce.com" pour copier des données à partir du domaine personnalisé. Découvrez comment configurer ou afficher votre domaine personnalisé en vous référant à cet article. |
Yes |
| authenticationType | Type d’authentification utilisé pour se connecter au cloud du service Salesforce. La valeur autorisée est OAuth2ClientCredentials. |
Yes |
| clientId | Spécifiez l’ID client de l’application connectée Salesforce OAuth 2.0. Pour plus d’informations, consultez cet article | Yes |
| clientSecret | Spécifiez la clé secrète client de l’application connectée Salesforce OAuth 2.0. Pour plus d’informations, consultez cet article | Yes |
| apiVersion | Spécifiez la version de l’API Bulk 2.0 de Salesforce à utiliser, par exemple 52.0. L’API Bulk 2.0 prend uniquement en charge la version d’API >= 47.0. Pour en savoir plus sur la version de l’API Bulk 2.0, consultez cet article. Si vous utilisez une version d’API inférieure, un échec se produit. |
Yes |
| connectVia | Le runtime d’intégration à utiliser pour se connecter à la banque de données. À défaut de spécification, le runtime d’intégration Azure par défaut est utilisé. | No |
Exemple : Stocker les informations d’identification
{
"name": "SalesforceServiceCloudLinkedService",
"properties": {
"type": "SalesforceServiceCloudV2",
"typeProperties": {
"environmentUrl": "<environment URL>",
"authenticationType": "OAuth2ClientCredentials",
"clientId": "<client ID>",
"clientSecret": {
"type": "SecureString",
"value": "<client secret>"
},
"apiVersion": "<API Version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Stocker les informations d’identification dans Key Vault
{
"name": "SalesforceServiceCloudLinkedService",
"properties": {
"type": "SalesforceServiceCloudV2",
"typeProperties": {
"environmentUrl": "<environment URL>",
"authenticationType": "OAuth2ClientCredentials",
"clientId": "<client ID>",
"clientSecret": {
"type": "AzureKeyVaultSecret",
"secretName": "<secret name of client secret in AKV>",
"store":{
"referenceName": "<Azure Key Vault linked service>",
"type": "LinkedServiceReference"
}
},
"apiVersion": "<API Version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Propriétés du jeu de données
Pour obtenir la liste complète des sections et propriétés disponibles pour la définition de jeux de données, consultez l’article Jeux de données. Cette section fournit la liste des propriétés prises en charge par le jeu de données Salesforce Service Cloud.
Pour copier des données à partir de et vers Salesforce Service Cloud, définissez la propriété de type du jeu de données sur SalesforceServiceCloudV2Object. Les propriétés suivantes sont prises en charge.
| Property | Description | Required |
|---|---|---|
| type | La propriété de type doit être définie sur SalesforceServiceCloudV2Object. | Yes |
| objectApiName | Nom de l’objet Salesforce Service Cloud à partir duquel extraire des données. La version du runtime d’intégration auto-hébergé applicable est 5.44.8984.1 ou ultérieure. | Non pour la source (si « query » est spécifié dans la source), oui pour le récepteur |
| reportId | ID du rapport Salesforce Service Cloud à partir duquel récupérer des données. Non pris en charge dans le récepteur. Notez qu’il existe des limitations lorsque vous utilisez des rapports. La version du runtime d’intégration auto-hébergé applicable est 5.44.8984.1 ou ultérieure. | Non pour la source (si « query » est spécifié dans la source), non pris en charge dans le récepteur |
Important
La partie « __c » du nom de l’API est requise pour tout objet personnalisé.
Example:
{
"name": "SalesforceServiceCloudDataset",
"properties": {
"type": "SalesforceServiceCloudV2Object",
"typeProperties": {
"objectApiName": "MyTable__c"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<Salesforce Service Cloud linked service name>",
"type": "LinkedServiceReference"
}
}
}
Propriétés de l’activité de copie
Pour obtenir la liste complète des sections et des propriétés disponibles pour la définition des activités, consultez l’article Pipelines. Cette section fournit la liste des propriétés prises en charge par la source et le récepteur de Salesforce Service Cloud.
Service Salesforce Cloud en tant que type de source
Pour copier des données à partir de Salesforce Service Cloud, affectez la valeur SalesforceServiceCloudV2Source au type de source dans l’activité de copie. Les propriétés suivantes sont prises en charge dans la section source de l’activité de copie.
| Property | Description | Required |
|---|---|---|
| type | La propriété type de la source de l’activité de copie doit être définie sur SalesforceServiceCloudV2Source. | Yes |
| query | Utilise la requête personnalisée pour lire des données. Vous ne pouvez utiliser que la requête SOQL (Object Query Language) Salesforce . Si la requête n’est pas spécifiée, toutes les données de l’objet Salesforce spécifié dans « ObjectApiName/reportId » dans le jeu de données seront récupérées. | Non (si « objectApiName/reportId » est spécifié dans le jeu de données) |
| includeDeletedObjects | Indique si seuls les enregistrements existants doivent être interrogés ou si tous les enregistrements, y compris ceux qui ont été supprimés, doivent être interrogés. Si ce n’est pas spécifié, le comportement par défaut est false. Les valeurs autorisées sont : false (par défaut), true. |
No |
| partitionOption | Permet de détecter et d’appliquer automatiquement l’algorithme de partitionnement optimal pour optimiser le débit de lecture le cas échéant. Il est recommandé de spécifier AutoDetect pour les processus de copie longue durée qui peuvent bénéficier des lectures multithreads. La valeur par défaut est AutoDetect. |
No |
Important
La partie « __c » du nom de l’API est requise pour tout objet personnalisé.
Example:
"activities":[
{
"name": "CopyFromSalesforceServiceCloud",
"type": "Copy",
"inputs": [
{
"referenceName": "<Salesforce Service Cloud input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SalesforceServiceCloudV2Source",
"query": "SELECT Col_Currency__c, Col_Date__c, Col_Email__c FROM AllDataType__c",
"includeDeletedObjects": false,
"partitionOption": "AutoDetect"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Salesforce Service Cloud en tant que type de récepteur
Pour copier des données vers Salesforce Service Cloud, affectez la valeur SalesforceServiceCloudV2Sink au type de récepteur dans l’activité de copie. Les propriétés suivantes sont prises en charge dans la section récepteur de l’activité de copie.
| Property | Description | Required |
|---|---|---|
| type | La propriété de type du récepteur d’activité de copie doit être définie sur SalesforceServiceCloudV2Sink. | Yes |
| writeBehavior | Comportement d’écriture de l’opération. Les valeurs autorisées sont Insert et Upsert. |
Non (la valeur par défaut est un point Insert) |
| externalIdFieldName | Nom du champ ID externe pour l’opération upsert. Le champ spécifié doit être défini en tant que « champ d’ID externe » dans l’objet Salesforce Service Cloud. Il ne peut pas avoir de valeurs NULL dans les données d’entrée correspondantes. | Oui, pour « Upsert » |
| writeBatchSize | Nombre de lignes de données écrites dans Salesforce Service Cloud dans chaque lot. Nous vous suggérons de définir cette valeur entre 10 000 et 200 000. Un nombre trop faible de lignes dans chaque lot réduira les performances de copie. Un trop grand nombre de lignes dans chaque lot peut entraîner une expiration du délai d’attente de l’API. | Non (la valeur par défaut est 100 000) |
| ignoreNullValues | Indique si les valeurs NULL des données d’entrée doivent être ignorées pendant une opération d’écriture. Les valeurs autorisées sont true et false. - True : ne pas modifier des données dans l’objet de destination lorsque vous effectuez une opération upsert ou une opération de mise à jour. Insérer une valeur définie par défaut lorsque vous effectuez une opération insert. - False : mettre les données à jour dans l’objet de destination en NULL lorsque vous effectuez une opération upsert ou une opération de mise à jour. Insérer une valeur NULL lorsque vous effectuez une opération insert. |
Non (valeur par défaut : false) |
| maxConcurrentConnections | La limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées. | No |
Exemple : récepteur Salesforce Service Cloud dans une activité de copie
"activities":[
{
"name": "CopyToSalesforceServiceCloud",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Salesforce Service Cloud output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "SalesforceServiceCloudV2Sink",
"writeBehavior": "Upsert",
"externalIdFieldName": "CustomerId__c",
"writeBatchSize": 10000,
"ignoreNullValues": true
}
}
}
]
Mappage de type de données pour Salesforce Service Cloud
Lorsque vous copiez des données à partir de Salesforce Service Cloud, les mappages suivants sont utilisés à partir des types de données Salesforce Service Cloud pour les types de données intermédiaires en interne dans le service. Pour découvrir comment l’activité de copie mappe le schéma et le type de données la source au récepteur, consultez Mappage de schéma dans l’activité de copie.
| Type de données Salesforce Service Cloud | Type de données de service intermédiaire |
|---|---|
| Numérotation automatique | String |
| Checkbox | Boolean |
| Currency | Decimal |
| Date | DateTime |
| Date/Time | DateTime |
| String | |
| ID | String |
| Relation de recherche | String |
| Liste déroulante à sélection multiple | String |
| Number | Decimal |
| Percent | Decimal |
| Phone | String |
| Picklist | String |
| Text | String |
| Zone de texte | String |
| Zone de texte (long) | String |
| Zone de texte (enrichi) | String |
| Texte (chiffré) | String |
| URL | String |
Note
Le type numérique Salesforce Service Cloud est mappé au type décimal dans Azure Data Factory et les pipelines Azure Synapse en tant que type de données de service intermédiaire. Le type décimal respecte la précision et l’échelle définies. Pour les données dont le nombre de décimales dépasse l’échelle définie, leur valeur est arrondie dans les données d’aperçu et la copie. Pour éviter une telle perte de précision dans les pipelines Azure Data Factory et Azure Synapse, envisagez d’augmenter le nombre de décimales à une valeur raisonnablement élevée dans la page Modification de définition de champ personnalisé de Salesforce Service Cloud.
Propriétés de l’activité Lookup
Pour en savoir plus sur les propriétés, consultez Activité Lookup.
Cycle de vie et mise à niveau du connecteur Salesforce Service Cloud
Le tableau suivant présente l’étape de mise en production et les journaux de modification pour différentes versions du connecteur Salesforce Service Cloud :
| Version | Phase de mise en production | Journal des modifications |
|---|---|---|
| Salesforce Service Cloud V1 | Removed | Non applicable. |
| Salesforce Service Cloud V2 | Version en disponibilité générale disponible | • Prise en charge de l’authentification OAuth2ClientCredentials au lieu de l’authentification de base. • Prise en charge de la requête SOQL uniquement. • Afficher le rapport en sélectionnant un identifiant de rapport. • Assistance partitionOption dans la source de l’activité de copie. • readBehavior est remplacé par includeDeletedObjects dans la source de l'activité de copie ou dans l'activité de recherche. |
Mettre à niveau le connecteur Salesforce Service Cloud
Voici les étapes qui vous aideront à mettre à niveau votre connecteur Salesforce Service Cloud :
Configurez les applications connectées dans le portail Salesforce en vous référant à Prérequis.
Créez un service lié Salesforce Service Cloud et configurez-le en vous référant à Propriétés du service lié.
Si vous utilisez une requête SQL dans la source d’activité de copie ou l’activité de recherche qui fait référence au service lié V1, vous devez la convertir en requête SOQL. Apprenez-en davantage sur les requêtes SOQL dans Salesforce Service Cloud en tant que type de source et Salesforce Object Query Language (SOQL).
Assistance
partitionOptiondans la source de l’activité de copie. Pour obtenir la configuration détaillée, consultez la section Salesforce Service Cloud comme type de source.readBehaviorest remplacé parincludeDeletedObjectsdans la source d’activité de copie ou l’activité de recherche. Pour obtenir la configuration détaillée, consultez la section Salesforce Service Cloud comme type de source.
Contenu connexe
Consultez les magasins de données pris en charge pour obtenir la liste des sources et magasins de données pris en charge en tant que récepteurs par l’activité Copy.