Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНИМО К:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory в Microsoft Fabric — это следующее поколение Azure Data Factory с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.
В этой статье описывается использование действия копирования в конвейерах Azure Data Factory и Azure Synapse для копирования данных из облака Salesforce Service Cloud. Это продолжение статьи с обзором действия копирования, в которой представлены общие сведения о действии копирования.
Important
Соединитель Salesforce Service Cloud V1 находится на этапе удаления. Рекомендуется обновить соединитель Salesforce Service Cloud с версии 1 до версии 2.
Поддерживаемые возможности
Этот соединитель Salesforce Service Cloud поддерживается для следующих возможностей:
| Поддерживаемые возможности | IR |
|---|---|
| Копирование данных (источник/приемник) | (1) (2) |
| Операция поиска | (1) (2) |
(1) Azure среды выполнения интеграции (2) локальная среда выполнения интеграции
Список хранилищ данных, которые поддерживаются в качестве источников или приемников, см. в таблице Поддерживаемые хранилища данных.
В частности, этот соединитель Salesforce Service Cloud поддерживает следующее:
- Выпуски Salesforce Developer, Professional, Enterprise и Unlimited.
- Копирование данных из пользовательского домена и в него (пользовательский домен можно настроить как в рабочих, так и в тестовых средах).
Вы можете явно задать версию API, используемую для чтения и записи данных с помощью apiVersion свойства в связанной службе. При копировании данных в Salesforce Service Cloud соединитель использует BULK API 2.0.
Prerequisites
В Salesforce требуется включить разрешение API.
Вам потребуется настроить подключенные приложения на портале Salesforce, ссылаясь на этот официальный документ или наше пошаговое руководство в рекомендации в этой статье.
Important
- Пользователь выполнения должен иметь разрешение только на API.
- Срок действия токена доступа можно изменить с помощью политик сеансов вместо токена обновления.
Ограничения Salesforce Bulk API 2.0
Мы используем API Salesforce Bulk API 2.0 для запроса и приема данных. В пакетном API 2.0 пакеты создаются автоматически. Вы можете отправлять до 15 000 пакетов на 24-часовой период. Если пакеты превышают предел, вы увидите сбои.
В Bulk API 2.0 только задания на ввод обрабатывают пакеты. Задания запросов не выполняются. Для получения дополнительной информации см. руководство разработчика по массовому API 2.0.
Дополнительные сведения см. в разделе "Общие ограничения" в ограничениях разработчика Salesforce.
Get started
Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:
- Средство копирования данных
- портал Azure
- SDK .NET
- пакет SDK Python
- Azure PowerShell
- REST API
- шаблон Azure Resource Manager
Создание связанной службы для Salesforce Service Cloud с помощью пользовательского интерфейса
Выполните следующие действия, чтобы создать связанную службу в Salesforce Service Cloud в пользовательском интерфейсе портала Azure.
Перейдите на вкладку "Управление" в рабочей области Azure Data Factory или Synapse и выберите "Связанные службы", а затем нажмите кнопку "Создать".
Найдите Salesforce и выберите соединитель Salesforce Service Cloud.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
В следующих разделах содержатся сведения о свойствах, которые используются для определения сущностей, относящихся к соединителю Salesforce Service Cloud.
Свойства связанной службы
Следующие свойства поддерживаются для связанной службы Salesforce Service Cloud.
| Property | Description | Required |
|---|---|---|
| type | Свойство type должно иметь значение SalesforceServiceCloudV2. | Yes |
| environmentUrl | Укажите URL-адрес облачного экземпляра службы Salesforce Service Cloud. Например, укажите "https://<domainName>.my.salesforce.com" , чтобы скопировать данные из личного домена. Узнайте, как настроить или просмотреть личный домен, ссылающийся на эту статью. |
Yes |
| authenticationType | Тип проверки подлинности, используемый для подключения к облаку Службы Salesforce. Допустимое значение — OAuth2ClientCredentials. |
Yes |
| clientId | Укажите идентификатор клиента подключенного приложения Salesforce OAuth 2.0. Дополнительные сведения см. в этой статье | Yes |
| clientSecret | Укажите секрет клиента подключенного приложения Salesforce OAuth 2.0. Дополнительные сведения см. в этой статье | Yes |
| apiVersion | Укажите используемую версию API Salesforce Bulk API 2.0, например. 52.0 Пакетный API 2.0 поддерживает только версию >API = 47.0. Чтобы узнать о пакетной версии API 2.0, см. статью. Если вы используете более низкую версию API, это приведет к сбою. |
Yes |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Если он не указан, используется Azure Integration Runtime по умолчанию. | No |
Пример хранения учетных данных
{
"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"
}
}
}
Example: хранение учетных данных в 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"
}
}
}
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. В этом разделе содержится список свойств, поддерживаемых набором данных Salesforce Service Cloud.
Чтобы скопировать данные из и в Облако Salesforce Service, задайте для свойства типа набора данных значение SalesforceServiceCloudV2Object. Поддерживаются следующие свойства.
| Property | Description | Required |
|---|---|---|
| type | Свойство type должно иметь значение SalesforceServiceCloudV2Object. | Yes |
| objectApiName | Имя объекта в Salesforce Service Cloud для извлечения данных. Применимой версией локальной среды выполнения интеграции является 5.44.8984.1 или более поздней. | Нет для источника (если в источнике указан запрос), Да для приемника |
| reportId | Идентификатор отчета Salesforce Service Cloud, из которого извлекаются данные. Он не поддерживается в контейнере. Обратите внимание, что при использовании отчетов существуют ограничения . Применимой версией локальной среды выполнения интеграции является 5.44.8984.1 или более поздней. | Нет для источника (если задан запрос в источнике), не поддерживает приемник |
Important
Для любых настраиваемых объектов имя API должно содержать приставку "__c".
Example:
{
"name": "SalesforceServiceCloudDataset",
"properties": {
"type": "SalesforceServiceCloudV2Object",
"typeProperties": {
"objectApiName": "MyTable__c"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<Salesforce Service Cloud linked service name>",
"type": "LinkedServiceReference"
}
}
}
Свойства Copy activity
Полный список разделов и свойств, используемых для определения действий, обратитесь к статье Конвейеры. Этот раздел содержит список свойств, поддерживаемых источником и приемником Salesforce Service Cloud.
Salesforce Service Cloud как тип источника
Чтобы скопировать данные из Salesforce Service Cloud, задайте тип источника в действии копирования в SalesforceServiceCloudV2Source. В разделе source действия копирования поддерживаются следующие свойства:
| Property | Description | Required |
|---|---|---|
| type | Свойство type источника действия копирования должно иметь значение SalesforceServiceCloudV2Source. | Yes |
| query | Используйте пользовательский запрос для чтения данных. Вы можете использовать только запрос языка запросов объектов Salesforce (SOQL ). Если запрос не указан, будут извлечены все данные объекта Salesforce, указанного в objectApiName/reportId в наборе данных. | Нет (если параметр objectApiName/reportId в наборе данных указан) |
| includeDeletedObjects | Указывает, следует ли запрашивать существующие записи или все записи, включая удаленные. Если оно не указано, поведение по умолчанию равно false. Допустимые значения: false (по умолчанию), true. |
No |
| СохранитьМасштабИзСхемы | Указывает, следует ли включить округление десятичного масштабирования или нет в соответствии с определением десятичного масштабирования в схеме. Округление происходит только в том случае, если свойству присвоено значение true. Если оно не указано, поведение по умолчанию равно false. Например, если столбец определен как десятичный (18,3) в схеме, значение 123.123789 округляется до 123,124, если этот параметр включен. Допустимые значения: false (по умолчанию), true. |
No |
| partitionOption | Предоставьте возможность автоматически обнаруживать и применять оптимальный алгоритм секционирования для оптимизации пропускной способности чтения при необходимости. Рекомендуется указать AutoDetect для долговременного копирования, которое может воспользоваться многоядерным чтением. Значение по умолчанию — AutoDetect. |
No |
Important
Для любых настраиваемых объектов имя API должно содержать приставку "__c".
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,
"preserveScaleFromSchema": false,
"partitionOption": "AutoDetect"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Salesforce Service Cloud как тип приемника
Чтобы скопировать данные в Salesforce Service Cloud, установите конечный тип в процессе копирования на SalesforceServiceCloudV2Sink. В секции sink операции копирования поддерживаются следующие свойства.
| Property | Description | Required |
|---|---|---|
| type | Свойству type приемника копировочного действия необходимо присвоить значение SalesforceServiceCloudV2Sink. | Yes |
| writeBehavior | Поведение операции при записи. Допустимые значения: Insert и Upsert. |
Нет (по умолчанию используется Insert) |
| externalIdFieldName | Имя поля внешнего идентификатора для операции "upsert". Указанное поле должно быть определено как "поле внешнего идентификатора" в облачном объекте службы Salesforce. Оно не может иметь значения NULL в соответствующих входных данных. | "Да" для операции Upsert (Вставка-обновление) |
| writeBatchSize | Количество строк данных, записываемых в Salesforce Service Cloud одним пакетом. Рекомендуем задать это значение от 10 000 до 200 000. Слишком мало строк в каждом пакете снижает производительность копирования. Слишком много строк в каждом пакете может привести к истечении времени ожидания API. | Нет (по умолчанию — 100 000) |
| ignoreNullValues | Указывает, следует ли игнорировать значения NULL из входных данных во время операции записи. Допустимые значения: true и false. - True: при выполнении операции "upsert" или обновления оставьте данные в целевом объекте без изменений. При выполнении операции вставки (insert) вставьте определенное значение по умолчанию. - False: при выполнении операции upsert или обновления (update) обновите данные в целевом объекте до значения NULL. При выполнении операции вставки (insert) вставьте значение NULL. |
Нет (по умолчанию используется значение false) |
| maxConcurrentConnections | Верхний предел одновременных подключений, установленных в хранилище данных при запуске задачи. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
Пример: приемник Salesforce Service Cloud в задаче копирования
"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
}
}
}
]
Сопоставление типов данных для облака службы Salesforce
При копировании данных из Salesforce Service Cloud используются следующие сопоставления типов данных Salesforce Service Cloud с промежуточными типами данных внутри службы. Дополнительные сведения о том, как действие копирования сопоставляет исходную схему и типы данных для приемника, см. в статье Сопоставление схем и типов данных.
| Тип данных Salesforce Service Cloud | Промежуточный тип данных службы |
|---|---|
| Автоматический номер | String |
| Checkbox | Boolean |
| Currency | Decimal |
| Date | DateTime |
| Date/Time | DateTime |
| String | |
| ID | String |
| Связь для поиска | String |
| Список с множественным выбором | String |
| Number | Decimal |
| Percent | Decimal |
| Phone | String |
| Picklist | String |
| Text | String |
| Область текста | String |
| Текстовое поле (длинное) | String |
| Текстовое поле (расширенное) | String |
| Текст (зашифрованный) | String |
| URL | String |
Note
Тип облачного номера службы Salesforce сопоставляется с десятичным типом в Azure Data Factory и конвейерах Azure Synapse в качестве промежуточного типа данных службы. Десятичный тип учитывает определенную точность и масштаб. Для данных, десятичные разряды которых превышают определенный масштаб, значение будет округлено при предварительном просмотре и копировании данных. Чтобы избежать потери точности в конвейерах Azure Data Factory и Azure Synapse, рекомендуется увеличить десятичные разряды до достаточно большого значения в Custom Field Definition Edit страницы Salesforce Service Cloud.
Свойства операции поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Жизненный цикл и обновление соединителя Salesforce Service Cloud
В следующей таблице показаны этап выпуска и журналы изменений для различных версий соединителя Salesforce Service Cloud:
| Version | Этап выпуска | Журнал изменений |
|---|---|---|
| Salesforce Service Cloud V1 | Removed | Неприменимо. |
| Salesforce Service Cloud V2 | GA версия доступна | • Поддержка проверки подлинности OAuth2ClientCredentials вместо базовой проверки подлинности. • Поддержка только запроса SOQL. • Поддержка отчета путем выбора идентификатора отчета. • Поддержка partitionOption в источнике операции копирования. • Поддержка preserveScaleFromSchema в источнике операции копирования. • readBehavior заменяется на includeDeletedObjects в операции копирования или в операции подстановки. |
Обновление соединителя Salesforce Service Cloud
Ниже приведены инструкции по обновлению соединителя Salesforce Service Cloud:
Настройте подключенные приложения на портале Salesforce, указав необходимые условия.
Создайте связанную службу Salesforce Service Cloud и настройте ее, ссылаясь на свойства связанной службы.
Если вы используете SQL-запрос в источнике операции копирования или в операции поиска, которые ссылаются на связанную службу версии 1, вам нужно преобразовать их в запрос SOQL. Узнайте больше о запросе SOQL из Salesforce Service Cloud в качестве исходного типа и языка запросов объектов Salesforce (SOQL).
Поддержка
partitionOptionв источнике операции копирования. Подробные сведения о конфигурации см. в разделе Salesforce Service Cloud в качестве исходного типа.Поддержка
preserveScaleFromSchemaв источнике операции копирования. Подробные сведения о конфигурации см. в разделе Salesforce Service Cloud в качестве исходного типа.readBehaviorзаменяетсяincludeDeletedObjectsв источнике действия копирования или в действии подстановки. Подробные сведения о конфигурации см. в разделе Salesforce Service Cloud в качестве исходного типа.
Связанный контент
Список хранилищ данных, поддерживаемых в рамках функции копирования в качестве источников и приемников, см. в разделе Поддерживаемые хранилища данных.