Halaman ini menjelaskan cara memuat data dari sObject Salesforce ke dalam Google Cloud dengan Cloud Data Fusion. Plugin sumber batch Salesforce membaca sObject dari Salesforce. sObject adalah tabel Salesforce yang ingin Anda tarik datanya. 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 mengetahui informasi selengkapnya, lihat Membuat aplikasi terhubung Salesforce untuk Cloud Data Fusion.
Mengonfigurasi plugin
- Buka antarmuka web Cloud Data Fusion lalu klik Studio.
- Pastikan Pipeline Data - Batch dipilih (bukan Real-time).
- 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 Properties.
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:
- Biarkan Gunakan koneksi dinonaktifkan.
Di bagian Connection, 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 koneksi tidak ada dan Anda ingin membuat koneksi baru yang dapat digunakan kembali, klik Tambahkan koneksi dan lihat langkah-langkah di tab Koneksi baru.
Masukkan Nama SObject 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 sebelum waktu tertentu.
- Durasi: Hanya menyertakan rekaman yang terakhir diubah dalam jangka waktu berukuran tertentu.
- Offset: Hanya menyertakan rekaman yang Tanggal terakhir diubahnya kurang dari waktu mulai logis pipeline, dikurangi offset yang diberikan.
Opsional: Untuk sObject yang didukung, guna meningkatkan performa pipeline, aktifkan Aktifkan pengelompokan PK. Untuk mengetahui informasi selengkapnya, lihat Meningkatkan performa dengan chunking PK.
Opsional: Daripada menentukan Nama sObject, Anda dapat memasukkan kueri SOQL, seperti
SELECT LastName from Contact
. Untuk mengetahui informasi selengkapnya, 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, anotasi metadata. |
Menggunakan koneksi | Tidak | Tidak | Gunakan koneksi yang ada. Jika koneksi digunakan, Anda tidak perlu memberikan kredensial. |
Menjelajahi 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 berisi token keamanan, aplikasi Cloud Data Fusion akan menambahkan token sebelum mengautentikasi dengan Salesforce. |
Kunci konsumen | Ya | Ya | Kunci Konsumen Aplikasi. ID ini juga disebut ID klien OAuth. Untuk mendapatkan kunci konsumen, buat aplikasi terhubung Salesforce. |
Rahasia konsumen | Ya | Ya | Rahasia Konsumen Aplikasi. Ini juga disebut rahasia klien OAuth. Untuk mendapatkan rahasia klien, buat aplikasi terhubung 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. 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 membuat kueri SOQL, seperti
select FIELD_1, FIELD_2 from
${sObjectName} . Diabaikan jika kueri SOQL diberikan.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 mengirim kueri ke Salesforce untuk menerima array informasi batch, Bulk API tidak digunakan dalam satu kasus. Jika kueri berada dalam batas, kueri akan menjalankan kueri asli. Jika tidak, logika objek lebar akan diaktifkan. Misalnya, ID query ini menghasilkan ID query 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 data 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 | Filter data untuk hanya menyertakan data yang kolom sistemnya,
LastModifiedDate , kurang dari tanggal yang ditentukan. Gunakan
format tanggal Salesforce
(lihat contoh). Dengan menentukan nilai ini
dengan properti Last modified after, Anda dapat membaca data
yang diubah dalam jangka waktu tertentu. Jika tidak ada nilai yang diberikan, tidak ada tanggal batas atas yang diterapkan. |
Durasi | Ya | Tidak | Memfilter data untuk hanya membaca rekaman yang terakhir diubah dalam jangka waktu berukuran tertentu. 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 09.00 (eksklusif).
Tentukan durasi dengan angka dan satuan waktu berikut:
2 days, 1 hours, 30 minutes . Jika nilai sudah
ditentukan untuk Terakhir diubah setelah atau
Terakhir diubah sebelum, durasi akan diabaikan. |
Offset | Ya | Tidak | Memfilter data untuk hanya membaca rekaman yang kolom sistemnya,
LastModifiedDate , kurang dari waktu mulai logis
pipeline, dikurangi offset yang diberikan. Misalnya, jika durasinya adalah
6 hours , offset-nya 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 unit waktu berikut:
2 days, 1 hours, 30 minutes . Jika nilai sudah
ditentukan untuk Terakhir diubah setelah atau
Terakhir diubah sebelum, offset akan diabaikan. |
Jenis operasi SOQL | Tidak | Tidak | Tentukan operasi kueri yang akan dijalankan pada tabel. Jika kueri dipilih,
hanya data saat ini yang ditampilkan. Memilih queryAll
akan menampilkan semua data saat ini dan yang dihapus.Operasi defaultnya adalah query . |
Mengaktifkan chunking PK | Ya | Tidak | Chunking kunci utama (PK) membagi kueri pada tabel besar menjadi beberapa bagian, atau
chunk, berdasarkan ID record, atau kunci utama, dari record yang dikueri. Salesforce merekomendasikan agar Anda mengaktifkan chunking PK saat mengkueri tabel dengan lebih dari 10 juta data, atau saat kueri massal terus mengalami waktu tunggu habis. Untuk mengetahui informasi selengkapnya, lihat Chunking PK. Pengelompokan PK hanya berfungsi dengan kueri yang tidak menyertakan klausa SELECT , atau kondisi selain WHERE .
Pengelompokan didukung untuk objek kustom dan 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. Tindakan ini digunakan untuk mengaktifkan chunking 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 jenis 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 (latitude), geolocation
(longitude) |
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:
Prasyarat untuk mengupgrade ke plugin Salesforce versi 1.7.0
Plugin Salesforce versi 1.7.0 tersedia di Cloud Data Fusion versi 6.8.0 dan yang lebih baru. Rilis ini mencakup upgrade versi Salesforce Bulk API V1 dari 62.0 ke 64.0.
Salesforce telah menghentikan penggunaan kolom tertentu di API versi 64.0. Mengupgrade ke plugin Salesforce versi 1.7.0 dapat menyebabkan kegagalan pipeline yang menggunakan kolom ini. Untuk memastikan pipeline Anda terus berfungsi, perbarui skema pipeline Anda secara manual untuk memuat skema baru atau menghapus kolom yang tidak digunakan lagi.
Kolom yang tidak digunakan lagi di Salesforce API versi 64.0
Salesforce telah menghentikan penggunaan kolom berikut di API versi 64.0:
Nama objek | Nama kolom |
---|---|
MobSecurityCertPinConfig | EffectiveDate |
Profil | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
PermissionSet | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
PermissionSetLicense | MaximumPermissionsAllowObjectDetectionTraining MaximumPermissionsAllowObjectDetection |
UserPermissionAccess | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
MutingPermissionSet | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
Domain | OptionsHstsHeaders |
Pengguna | UserPreferencesHideInvoicesRedirectConfirmation UserPreferencesHideStatementsRedirectConfirmation |
UserChangeEvent | UserPreferencesHideInvoicesRedirectConfirmation UserPreferencesHideStatementsRedirectConfirmation |
Memperbarui skema pipeline
Jika pipeline Anda menggunakan kolom yang tidak digunakan lagi, perbarui skema pipeline dengan memuat skema baru atau menghapus kolom yang tidak digunakan lagi:
Buka antarmuka web Cloud Data Fusion dan klik List.
Untuk melihat pipeline yang di-deploy, klik tab Deployed.
Untuk pipeline yang ingin Anda perbarui, klik > Edit.
Di tampilan Studio, tahan kursor di plugin sumber Salesforce, lalu klik Properties.
Jendela konfigurasi untuk plugin Salesforce akan terbuka.
Untuk memuat skema baru, ikuti langkah-langkah berikut:
Di tab Output schema, klik > Clear, lalu klik Validate. Tindakan ini akan memuat skema terbaru dari Salesforce.
Setelah skema dimuat, di tab Output schema, klik > Propagate.
Hal ini akan otomatis memperbarui skema untuk semua plugin berikutnya dalam pipeline, yang dapat menggantikan perubahan skema manual di plugin seperti Wrangler.
Untuk menghapus kolom yang tidak digunakan lagi secara manual, ikuti langkah-langkah berikut:
- Di tab Output schema, untuk setiap kolom yang tidak digunakan lagi, klik . Tindakan ini akan menghapus kolom dari semua tahap berikutnya.
Praktik terbaik
Untuk mengetahui informasi selengkapnya tentang cara meningkatkan performa di sumber batch Salesforce, lihat praktik terbaik.
Catatan rilis
Langkah berikutnya
- Pelajari tutorial plugin Salesforce.