Salesforce menyediakan perangkat lunak manajemen hubungan pelanggan (CRM) yang berfokus pada manajemen kontak, katalog produk, pesanan, peluang, dan penjualan. DataWorks menyediakan Salesforce Reader untuk membaca data dari sumber data Salesforce. Topik ini menjelaskan kemampuan sinkronisasi data dari sumber data tersebut.
Pemetaan tipe data
Tipe data | Tipe data di editor kode |
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 |
Tambahkan sumber data
Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks sesuai petunjuk dalam Manajemen sumber data. Anda dapat melihat infotips parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Anda dapat membuat sumber data Salesforce dengan salah satu cara berikut:
Official: Masuk ke situs web resmi Salesforce untuk secara otomatis mendapatkan titik akhir Salesforce dan membuat sumber data.
Custom: Untuk mengatur kredensial koneksi khusus bagi DataWorks, gunakan mode Custom saat mengonfigurasi sumber data Salesforce. Anda harus masuk ke sistem Salesforce dan membuat Connected App untuk mendapatkan kredensial keamanan (Consumer Key dan Consumer Secret). Kredensial ini memberikan otorisasi koneksi kepada DataWorks. Langkah-langkah berikut menjelaskan proses konfigurasinya:
Konfigurasi Sumber Data Pola Kustom
Salesforce adalah layanan pihak ketiga. Pastikan jaringan VPC yang dilampirkan ke kelompok sumber daya dapat terhubung ke platform Salesforce. Jika tidak, sumber data tidak dapat dibuat.
Kembangkan tugas sinkronisasi data
Untuk informasi tentang titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.
Konfigurasikan tugas sinkronisasi batch untuk menyinkronkan data dari satu tabel
Untuk informasi lebih lanjut tentang prosedur konfigurasi, lihat Konfigurasi di antarmuka tanpa kode dan Konfigurasi di editor kode.
Untuk informasi tentang semua parameter dan contoh kode untuk editor kode, lihat Lampiran: Demo skrip dan deskripsi parameter.
Lampiran: Demo skrip dan deskripsi parameter
Konfigurasikan tugas sinkronisasi batch menggunakan editor kode
Jika Anda ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip sesuai format skrip terpadu. Untuk informasi selengkapnya, lihat Konfigurasikan tugas di editor kode. Informasi berikut menjelaskan parameter yang harus dikonfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.
Demo skrip Reader
Contoh 1: Kueri objek 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"
}
]
}
}Contoh 2: Gunakan Bulk API 1.0 untuk mengkueri objek Salesforce
{
"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"
}
]
}
}Contoh 3: Gunakan Bulk API 2.0 untuk mengkueri objek Salesforce
{
"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"
}
]
}
}Contoh 4: Gunakan pernyataan kueri 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"
}
]
}
}Parameter skrip Reader
Parameter | Wajib | Deskripsi | Nilai default |
datasource | Ya | Nama sumber data. Harus sama dengan nama sumber data yang ditambahkan. Anda dapat menambahkan sumber data menggunakan editor kode. | Tidak ada |
serviceType | Tidak | Mode sinkronisasi. Nilai yang valid:
| sobject |
table | Ya | Objek Salesforce, seperti Account, Case, atau Group. Objek setara dengan tabel. Parameter ini wajib jika Anda mengatur parameter serviceType ke sobject, bulk1, atau bulk2. | Tidak ada |
beginDateTime | Tidak |
| Tidak ada |
endDateTime | Tidak | Tidak ada | |
splitPk | Tidak |
| Tidak ada |
blockCompoundColumn | Tidak | Menentukan apakah mendukung kolom bertipe data gabungan. Parameter ini wajib jika Anda mengatur parameter serviceType ke bulk1 atau bulk2. Nilai yang valid:
| true |
bulkQueryJobTimeoutSeconds | Tidak |
| 86400 |
batchSize | Tidak |
| 300000 |
where | Tidak |
| Tidak ada |
query | Tidak |
| Tidak ada |
queryAll | Tidak |
| false |
column | Ya | Nama kolom yang ingin Anda sinkronkan. Tentukan nama-nama tersebut dalam bentuk array JSON.
| Tidak ada |
connectTimeoutSeconds | Tidak |
| 30 |
socketTimeoutSeconds | Tidak |
| 600 |
retryIntervalSeconds | Tidak |
| 60 |
retryTimes | Tidak |
| 3 |





