Halaman ini menjelaskan cara memuat data dari sObject Salesforce ke Google Cloud dengan Cloud Data Fusion. Plugin sumber batch Salesforce membaca sObjects dari Salesforce. sObject adalah tabel Salesforce yang ingin Anda ambil. Beberapa contoh sObject mencakup peluang, kontak, akun, prospek, dan objek kustom.
Plugin sumber batch Salesforce mendukung pembacaan data dengan kueri Salesforce Object Query Language (SOQL) dan filter tanggal inkremental atau rentang.
Sebelum memulai
- Sumber batch Salesforce Cloud Data Fusion menggunakan Salesforce Bulk API V1.
- Siapkan Salesforce sebelum men-deploy dan menggunakan plugin Salesforce Cloud Data Fusion. Untuk informasi selengkapnya, lihat Membuat aplikasi yang terhubung ke Salesforce untuk Cloud Data Fusion.
Mengonfigurasi plugin
- Buka antarmuka web Cloud Data Fusion, lalu klik Studio.
- Pastikan Data Pipeline - Batch dipilih (bukan Realtime).
- Di menu Sumber, klik Salesforce. Node Salesforce akan muncul di pipeline Anda. Jika Anda tidak melihat sumber Salesforce di halaman Studio, deploy plugin Salesforce dari Cloud Data Fusion Hub.
- Untuk mengonfigurasi sumber, buka node Salesforce, lalu klik Properti.
Masukkan properti berikut. Untuk mengetahui daftar lengkapnya, lihat Properti.
- Masukkan Label untuk node Salesforce—misalnya,
Salesforce tables
. - Masukkan Nama referensi untuk sumber Salesforce untuk silsilah—misalnya,
Salesforce tables
. Masukkan detail koneksi. Anda dapat menyiapkan koneksi baru satu kali, atau koneksi yang sudah ada dan dapat digunakan kembali.
Koneksi baru
Untuk menambahkan koneksi satu kali ke Salesforce, ikuti langkah-langkah berikut:
- Tetap nonaktifkan Gunakan koneksi.
Di bagian Koneksi, masukkan informasi berikut dari akun Salesforce di kolom ini:
- Username
- Password
- Token keamanan
- Kunci konsumen
- Rahasia konsumen
Untuk mendapatkan kredensial dari Salesforce, lihat Mendapatkan properti dari Salesforce.
Koneksi yang dapat digunakan kembali
Untuk menggunakan kembali koneksi yang ada, ikuti langkah-langkah berikut:
- Aktifkan Gunakan koneksi.
- Klik Jelajahi koneksi.
Klik nama koneksi.
Opsional: Jika tidak ada koneksi dan Anda ingin membuat koneksi baru yang dapat digunakan kembali, klik Add connection, lalu lihat langkah-langkah di tab New connection.
Masukkan SObject name untuk memuat semua kolom dari objek.
Opsional: Jika memilih nama sObject, Anda dapat memfilter data dengan kolom berikut:
- Terakhir diubah setelah: Hanya menyertakan data yang terakhir diubah setelah waktu tertentu.
- Terakhir diubah sebelum: Hanya menyertakan data yang terakhir diubah lebih awal dari waktu tertentu.
- Durasi: Hanya menyertakan kumpulan data yang terakhir diubah dalam jangka waktu dengan ukuran yang ditentukan.
- Offset: Hanya menyertakan data dengan tanggal Terakhir diubah yang kurang dari waktu mulai logis pipeline, dikurangi offset yang diberikan.
Opsional: Untuk sObject yang didukung, guna meningkatkan performa pipeline, aktifkan Aktifkan pemotongan PK. Untuk mengetahui informasi selengkapnya, lihat Meningkatkan performa dengan pemotongan PK.
Opsional: Daripada menetapkan Nama sObject, Anda dapat memasukkan kueri SOQL, seperti
SELECT LastName from Contact
. Untuk informasi lebih lanjut, lihat Kueri SOQL untuk sumber Salesforce.Untuk menguji konektivitas, klik Dapatkan skema. Cloud Data Fusion terhubung ke Salesforce dan menarik skema untuk tabel yang tercantum (secara teknis, sObject).
- Masukkan Label untuk node Salesforce—misalnya,
Properti
Properti | Makro diaktifkan | Properti wajib | Deskripsi |
---|---|---|---|
Nama referensi | Tidak | Ya | Digunakan untuk mengidentifikasi sumber ini secara unik untuk tugas, seperti silsilah, metadata anotasi. |
Gunakan koneksi | Tidak | Tidak | Gunakan koneksi yang ada. Jika koneksi digunakan, Anda tidak perlu memberikan kredensial. |
Jelajahi koneksi | Ya | Tidak | Nama koneksi yang akan digunakan. |
Nama pengguna | Ya | Ya | Nama pengguna Salesforce. |
Sandi | Ya | Ya | Sandi Salesforce. |
Token keamanan | Ya | Tidak | Token keamanan Salesforce. Jika sandi tidak memuat token keamanan, Cloud Data Fusion akan menambahkan token sebelum melakukan autentikasi dengan Salesforce. |
Kunci konsumen | Ya | Ya | Kunci Konsumen Aplikasi. ID klien ini juga disebut dengan ID klien OAuth. Untuk mendapatkan kunci konsumen, buat aplikasi yang terhubung ke Salesforce. |
Rahasia konsumen | Ya | Ya | Rahasia Konsumen Aplikasi. Hal ini juga disebut sebagai rahasia klien OAuth. Untuk mendapatkan rahasia klien, buat aplikasi yang terhubung dengan Salesforce. |
URL Login | Ya | Ya | URL login OAuth2 Salesforce. Defaultnya adalah https://login.salesforce.com/services/oauth2/token |
Waktu tunggu koneksi habis | Ya | Tidak | Waktu maksimum, dalam milidetik, untuk menunggu inisialisasi koneksi sebelum waktu habis. Nilai defaultnya adalah 30.000 milidetik. |
URL Proxy | Ya | Tidak | URL proxy, yang berisi protokol, alamat, dan port. |
SOQL | Ya | Tidak | Kueri SOQL untuk mengambil data ke sumber. Contoh:
|
Nama SObject | Ya | Tidak | Nama objek Salesforce yang akan dibaca. Jika nilai diberikan, konektor akan mendapatkan semua kolom untuk objek ini dari Salesforce dan menghasilkan kueri SOQL, seperti select FIELD_1, FIELD_2 from
${sObjectName} . Diabaikan jika kueri SOQL disediakan.Ada juga sObject yang tidak didukung di Salesforce Bulk API. Membuat tugas dengan objek yang tidak didukung akan menyebabkan error berikut: Entity is not supported by the Bulk
API . Objek ini juga tidak didukung oleh Einstein Analytics, yang menggunakan Bulk API untuk membuat kueri data.Kasus saat BULK API tidak digunakan: Saat panjang kueri mengirimkan kueri ke Salesforce untuk menerima array informasi batch, Bulk API tidak akan digunakan dalam satu kasus. Jika berada dalam batas maksimum, kueri akan mengeksekusi kueri asal. Jika tidak, model akan beralih ke logika objek lebar. Misalnya, metode ini menghasilkan kueri ID yang hanya mengambil informasi batch untuk ID yang akan digunakan nanti untuk mengambil data melalui SOAP API. |
Terakhir diubah setelah | Ya | Tidak | Memfilter data agar hanya menyertakan catatan yang kolom sistemnya,
LastModifiedDate , lebih besar dari atau sama dengan tanggal
yang ditentukan. Gunakan format tanggal Salesforce (lihat
contoh). Jika tidak ada nilai yang diberikan, tidak ada tanggal batas bawah yang diterapkan. |
Terakhir diubah sebelum | Ya | Tidak | Memfilter data agar hanya menyertakan catatan yang kolom sistemnya,
LastModifiedDate , lebih kecil dari tanggal yang ditentukan. Gunakan
format tanggal Salesforce
(lihat contoh). Menentukan nilai ini dengan properti Last modified after memungkinkan Anda membaca data yang diubah dalam jangka waktu tertentu. Jika tidak ada nilai yang diberikan, tanggal batas atas tidak akan diterapkan. |
Durasi | Ya | Tidak | Memfilter data agar hanya membaca data yang terakhir diubah dalam jangka waktu dengan ukuran yang ditentukan. Misalnya, jika durasinya adalah 6 hours dan pipeline berjalan pada pukul 09.00, pipeline akan membaca data yang terakhir diperbarui dari pukul 03.00 (inklusif) hingga pukul 09.00 (eksklusif).
Tentukan durasi dengan angka dan satuan waktu berikut:
2 days, 1 hours, 30 minutes . Jika nilai sudah ditentukan untuk Last modified after atau Last modified before, durasi akan diabaikan. |
Offset | Ya | Tidak | Memfilter data agar hanya membaca catatan yang kolom sistemnya,
LastModifiedDate , kurang dari waktu mulai logis
pipeline, dikurangi offset yang diberikan. Misalnya, jika durasi adalah 6 hours , offsetnya adalah 1 hours , dan pipeline berjalan pada pukul 09.00, data yang terakhir diubah antara pukul 02.00 (inklusif) dan 08.00 (eksklusif) akan dibaca.Tentukan durasi menggunakan angka dan satuan waktu berikut:
2 days, 1 hours, 30 minutes . Jika sebuah nilai sudah ditentukan untuk Last modified after atau Last modified before, offset akan diabaikan. |
Jenis operasi SOQL | Tidak | Tidak | Tentukan operasi kueri yang akan dijalankan di tabel. Jika kueri dipilih, hanya kumpulan data saat ini yang akan ditampilkan. Jika queryAll dipilih, semua data saat ini dan yang dihapus akan ditampilkan.Operasi default-nya adalah query . |
Mengaktifkan pemotongan PK | Ya | Tidak | Potongan kunci utama (PK) membagi kueri pada tabel besar menjadi beberapa bagian, atau potongan, berdasarkan ID kumpulan data, atau kunci utama, dari kumpulan data yang dikueri. Salesforce merekomendasikan agar Anda mengaktifkan pemotongan PK saat membuat kueri tabel dengan lebih dari 10 juta data, atau ketika kueri massal terus habis waktu tunggunya. Untuk mengetahui informasi selengkapnya, lihat pemotongan PK. Potongan PK hanya berfungsi dengan kueri yang tidak menyertakan klausa SELECT , atau kondisi selain WHERE .
Chunking didukung untuk objek kustom serta tabel Berbagi dan Histori yang mendukung objek standar. |
Ukuran bagian | Ya | Tidak | Tentukan ukuran potongan. Ukuran maksimum adalah 250.000. Ukuran defaultnya adalah 100.000. |
Nama induk SObject | Ya | Tidak | Induk Objek Salesforce. Ini digunakan untuk mengaktifkan pemotongan untuk tabel histori atau objek bersama. |
Contoh format tanggal Salesforce
Sintaksis format | Contoh |
---|---|
YYYY-MM-DDThh:mm:ss+hh:mm |
1999-01-01T23:01:01+01:00 |
YYYY-MM-DDThh:mm:ss-hh:mm |
1999-01-01T23:01:01-08:00 |
YYYY-MM-DDThh:mm:ssZ |
1999-01-01T23:01:01Z |
Pemetaan tipe data
Tabel berikut adalah daftar jenis data Salesforce dengan jenis CDAP yang sesuai.
Jenis data Salesforce | Jenis data skema CDAP |
---|---|
_bool |
boolean |
_int |
int |
_long |
long |
_double , currency , percent ,
geolocation (lintang), geolocation
(bujur) |
double |
date |
date |
datetime |
timestamp (mikrodetik) |
time |
time (mikrodetik) |
picklist |
string |
multipicklist |
string |
combobox |
string |
reference |
string |
base64 |
string |
textarea |
string |
phone |
string |
id |
string |
url |
string |
email |
string |
encryptedstring |
string |
datacategorygroupreference |
string |
location |
string |
address |
string |
anyType |
string |
json |
string |
complexvalue |
string |
Kasus penggunaan
Lihat kasus penggunaan berikut untuk sumber batch Salesforce:
Praktik terbaik
Untuk informasi lebih lanjut tentang meningkatkan performa di sumber batch Salesforce, lihat praktik terbaik.
Catatan rilis
Langkah selanjutnya
- Bekerja melalui tutorial plugin Salesforce.