O Salesforce oferece software sob demanda para gestão de relacionamento com clientes (CRM), incluindo gerenciamento de contatos, catálogos de produtos, pedidos, oportunidades e vendas. A integração de dados do DataWorks permite ler fontes de dados do Salesforce. Este tópico descreve como usar o Salesforce como fonte de dados.
Tipos de campo compatíveis
|
Tipo de campo |
Tipo no DataWorks |
|
address |
STRING |
|
anyType |
STRING |
|
base64 |
BYTES |
|
boolean |
BOOL |
|
combobox |
STRING |
|
complexvalue |
STRING |
|
currency |
DOUBLE |
|
date |
DATE |
|
datetime |
DATE |
|
double |
DOUBLE |
|
|
STRING |
|
encryptedstring |
STRING |
|
id |
STRING |
|
int |
LONG |
|
json |
STRING |
|
long |
LONG |
|
multipicklist |
STRING |
|
percent |
DOUBLE |
|
phone |
STRING |
|
picklist |
STRING |
|
reference |
STRING |
|
string |
STRING |
|
textarea |
STRING |
|
time |
DATE |
|
url |
STRING |
|
geolocation |
STRING |
Adicionar uma fonte de dados
Antes de desenvolver uma tarefa de sincronização no DataWorks, adicione a fonte de dados necessária seguindo as instruções em Gerenciamento de fontes de dados. Consulte as descrições dos parâmetros no console do DataWorks para compreender o significado de cada parâmetro ao adicionar a fonte de dados.
Crie uma fonte de dados do Salesforce de uma das seguintes formas:
Salesforce official: Acesse o site do Salesforce para obter automaticamente a URL de acesso e criar a fonte de dados.
-
Customize: Para definir credenciais de conexão dedicadas para o DataWorks, configure a fonte de dados do Salesforce no modo Customize. Faça login no Salesforce e crie um Connected App para obter as credenciais de segurança (Consumer Key e Consumer Secret), que concedem autorização de conexão ao DataWorks. O procedimento de configuração é o seguinte:
Configuração personalizada
O Salesforce é um serviço de terceiros. Certifique-se de que a VPC do seu grupo de recursos tenha conectividade com a plataforma Salesforce. Caso contrário, não será possível criar a fonte de dados.
Tarefas de sincronização de dados
Para obter informações sobre o ponto de entrada e o procedimento de configuração de uma tarefa de sincronização, consulte os guias a seguir.
Tarefa de sincronização offline de tabela única
Consulte Configuração no modo assistente e Configuração no modo script para obter instruções.
O Apêndice: Exemplos de script e descrições de parâmetros fornece uma lista completa de parâmetros e um exemplo de script para o modo script.
Apêndice: Exemplos de script e parâmetros
Configurar uma tarefa de sincronização em lote usando o editor de código
Para configurar uma tarefa de sincronização em lote com o editor de código, defina os parâmetros relacionados no script conforme os requisitos unificados de formato. Para mais informações, consulte Configuração no modo script. As informações a seguir descrevem os parâmetros obrigatórios para fontes de dados ao configurar uma tarefa de sincronização em lote pelo editor de código.
Exemplos de script do Reader
Exemplo 1: Consultar um objeto do Salesforce
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"salesforce",
"parameter":{
"datasource":"",
"serviceType": "sobject",
"table": "Account",
"beginDateTime": "20230817184200",
"endDateTime": "20231017184200",
"where": "",
"column": [
{
"type": "STRING",
"name": "Id"
},
{
"type": "STRING",
"name": "Name"
},
{
"type": "BOOL",
"name": "IsDeleted"
},
{
"type": "DATE",
"name": "CreatedDate"
}
]
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"
},
"speed":{
"throttle":true,
"concurrent":1,
"mbps":"12"
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Exemplo 2: Consulta usando Bulk API 1.0
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"salesforce",
"parameter":{
"datasource":"",
"serviceType": "bulk1",
"table": "Account",
"beginDateTime": "20230817184200",
"endDateTime": "20231017184200",
"where": "",
"blockCompoundColumn":true,
"bulkQueryJobTimeoutSeconds":86400,
"column": [
{
"type": "STRING",
"name": "Id"
},
{
"type": "STRING",
"name": "Name"
},
{
"type": "BOOL",
"name": "IsDeleted"
},
{
"type": "DATE",
"name": "CreatedDate"
}
]
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{
"print": true
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"
},
"speed":{
"concurrent":1
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Exemplo 3: Consulta usando Bulk API 2.0
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"salesforce",
"parameter":{
"datasource":"",
"serviceType": "bulk2",
"table": "Account",
"beginDateTime": "20230817184200",
"endDateTime": "20231017184200",
"where": "",
"blockCompoundColumn":true,
"bulkQueryJobTimeoutSeconds":86400,
"column": [
{
"type": "STRING",
"name": "Id"
},
{
"type": "STRING",
"name": "Name"
},
{
"type": "BOOL",
"name": "IsDeleted"
},
{
"type": "DATE",
"name": "CreatedDate"
}
]
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"
},
"speed":{
"throttle":true,
"concurrent":1,
"mbps":"12"
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Exemplo 4: Consulta usando uma instrução SOQL
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"salesforce",
"parameter":{
"datasource":"",
"serviceType": "query",
"query": "select Id, Name, IsDeleted, CreatedDate from Account where Name!='Aliyun' ",
"column": [
{
"type": "STRING",
"name": "Id"
},
{
"type": "STRING",
"name": "Name"
},
{
"type": "BOOL",
"name": "IsDeleted"
},
{
"type": "DATE",
"name": "CreatedDate"
}
]
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"
},
"speed":{
"throttle":true,
"concurrent":1,
"mbps":"12"
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
Parâmetros do script do Reader
|
Parâmetro |
Obrigatório |
Descrição |
Padrão |
|
source |
Sim |
Nome da fonte de dados. No modo script, adicione uma fonte de dados. O valor deste parâmetro deve corresponder exatamente ao nome da fonte de dados adicionada. |
Nenhum |
|
serviceType |
Não |
Modo de sincronização. Valores válidos:
|
sobject |
|
table |
Sim |
Objeto do Salesforce, semelhante a um nome de tabela, como |
Nenhum |
|
beginDateTime |
Não |
|
Nenhum |
|
endDateTime |
Não |
Nenhum |
|
|
splitPk |
Não |
|
Nenhum |
|
blockCompoundColumn |
Não |
Define o comportamento ao encontrar um tipo de dado composto. Usado quando
|
true |
|
bulkQueryJobTimeoutSeconds |
Não |
|
86400 |
|
batchSize |
Não |
|
300000 |
|
where |
Não |
|
Nenhum |
|
query |
Não |
|
Nenhum |
|
queryAll |
Não |
|
false |
|
column |
Sim |
Colunas a serem sincronizadas. Especifique as colunas como um array JSON.
|
Nenhum |
|
connectTimeoutSeconds |
Não |
|
30 |
|
socketTimeoutSeconds |
Não |
|
600 |
|
retryIntervalSeconds |
Não |
|
60 |
|
retryTimes |
Não |
|
3 |