Memuat data Salesforce ke BigQuery
Anda dapat memuat data dari Salesforce ke BigQuery menggunakan BigQuery Data Transfer Service untuk konektor Salesforce. Dengan BigQuery Data Transfer Service, Anda dapat menjadwalkan tugas transfer berulang yang menambahkan data terbaru dari Salesforce ke BigQuery.
Batasan
Transfer data Salesforce tunduk pada batasan berikut:
- BigQuery Data Transfer Service untuk Salesforce hanya mendukung Salesforce Bulk API untuk terhubung ke instance Salesforce, dan hanya mendukung transfer entitas yang didukung oleh Salesforce Bulk API. Untuk mengetahui informasi selengkapnya tentang entitas yang didukung, lihat error 'Entity is not supported by the Bulk API'.
- Waktu interval minimum antar-transfer data berulang adalah 15 menit. Interval default untuk transfer berulang adalah 24 jam.
- BigQuery Data Transfer Service menggunakan Salesforce Bulk API v1 untuk terhubung ke endpoint Salesforce guna mengambil data.
- Jika lampiran jaringan dan instance virtual machine (VM) yang dikonfigurasi berada di region yang berbeda, mungkin ada pergerakan data lintas region saat Anda mentransfer data dari Salesforce.
Sebelum memulai
Bagian berikut menjelaskan langkah-langkah yang perlu Anda lakukan sebelum membuat transfer data Salesforce.
Membuat Aplikasi Terhubung Salesforce
Anda harus membuat Aplikasi Terhubung Salesforce dengan konfigurasi wajib berikut:
- Konfigurasi Informasi Dasar di Aplikasi Terhubung. Kolom Nama Aplikasi Terhubung dan Email Kontak diperlukan untuk transfer Salesforce.
- Aktifkan Setelan OAuth
dengan konfigurasi berikut:
- Centang kotak Aktifkan Setelan OAuth.
- Di kolom Callback URL, masukkan berikut ini:
- Untuk lingkungan produksi, masukkan
https://login.salesforce.com/services/oauth2/token
. - Untuk lingkungan sandbox, masukkan
https://test.salesforce.com/services/oauth2/token
.
- Untuk lingkungan produksi, masukkan
- Di bagian Cakupan OAuth yang Dipilih, pilih Kelola data pengguna melalui API (api).
- Hapus centang pada kotak Ekstensi Kunci Bukti untuk Pertukaran Kode (PKCE) yang Diperlukan untuk Alur Otorisasi yang Didukung.
- Pilih Enable Client Credentials Flow, lalu klik OK pada pemberitahuan yang muncul.
Setelah Anda mengonfigurasi Aplikasi Terhubung dengan konfigurasi yang diperlukan, klik Simpan. Anda akan dialihkan ke halaman detail Aplikasi Terhubung yang baru dibuat.
Setelah membuat Aplikasi Terhubung, Anda juga harus mengonfigurasi alur kredensial klien dengan melakukan hal berikut:
- Klik Penyiapan.
- Di kotak penelusuran, telusuri Aplikasi yang Terhubung.
- Klik Kelola Aplikasi > Aplikasi Terhubung. Jika Anda menggunakan Salesforce Lightning Experience, klik Kelola Aplikasi Terhubung.
- Di Aplikasi Terhubung yang telah Anda buat, klik Edit.
- Halaman Detail aplikasi akan muncul. Di bagian Client Credentials Flow, masukkan nama pengguna Anda di kolom Run As. Anda dapat menggunakan alat pencari di kolom ini untuk memastikan bahwa Anda telah memilih pengguna yang benar.
- Klik Simpan.
Informasi Salesforce yang diperlukan
Anda harus memiliki informasi Salesforce berikut saat membuat transfer data Salesforce:
Nama Parameter | Deskripsi |
---|---|
myDomain |
My Domain Anda di Salesforce. |
clientId |
Kunci Konsumen aplikasi terhubung Salesforce. |
clientSecret |
Rahasia Klien OAuth atau Rahasia Konsumen aplikasi terhubung Salesforce. |
Untuk mendapatkan nilai myDomain
, clientID
, dan clientSecret
,
pilih salah satu opsi berikut:
Salesforce Classic
Mengambil detail myDomain
Untuk menemukan myDomain
Anda, lakukan hal berikut:
- Login ke platform Salesforce.
- Klik Penyiapan.
- Di kotak penelusuran, telusuri Domain Saya.
- Di hasil penelusuran, klik Domain Management > My Domain.
Di bagian My Domain Details, myDomain
Anda akan muncul sebagai
awalan di Current My Domain URL. Misalnya, jika URL My Domain adalah
example.my.salesforce.com
, nilai myDomain
yang akan digunakan adalah example
.
Mengambil detail ClientId
dan ClientSecret
Untuk menemukan nilai ClientId
dan ClientSecret
, lakukan hal berikut:
- Login ke platform Salesforce.
- Klik Penyiapan.
- Di kotak penelusuran, telusuri Aplikasi.
- Di bagian Build di hasil penelusuran, klik Buat > Aplikasi.
- Klik Nama Aplikasi Terhubung.
- Di halaman detail Aplikasi Terhubung, klik Kelola Detail Konsumen.
- Verifikasi identitas Anda menggunakan salah satu metode terdaftar. Anda dapat melihat halaman detail konsumen hingga lima menit sebelum Anda diminta untuk memverifikasi identitas Anda lagi.
- Di halaman Consumer Details, Consumer Key adalah nilai
ClientId
Anda. Customer Secret adalah nilaiClientSecret
Anda.
Salesforce Lightning Experience
Mengambil detail myDomain
Untuk menemukan myDomain
Anda, lakukan hal berikut:
- Login ke platform Salesforce.
- Klik Penyiapan.
- Di kotak penelusuran, telusuri Domain Saya.
- Di hasil penelusuran, klik Setelan Perusahaan > Domain Saya.
Di bagian My Domain Details, myDomain
Anda akan muncul sebagai
awalan di Current My Domain URL. Misalnya, jika URL My Domain adalah
example.my.salesforce.com
, nilai myDomain
yang akan digunakan adalah example
.
Mengambil detail ClientId
dan ClientSecret
- Login ke platform Salesforce.
- Klik Penyiapan.
- Di kotak penelusuran, telusuri Aplikasi.
- Di hasil penelusuran, klik Aplikasi > Pengelola Aplikasi.
- Temukan aplikasi yang terhubung, lalu klik Lihat.
- Klik Kelola Detail Konsumen.
- Verifikasi identitas Anda menggunakan salah satu metode terdaftar. Anda dapat melihat halaman detail konsumen hingga lima menit sebelum Anda diminta untuk memverifikasi identitas Anda lagi.
- Di halaman Consumer Details, Consumer Key adalah nilai
ClientId
Anda. Customer Secret adalah nilaiClientSecret
Anda.
Prasyarat BigQuery
- Pastikan Anda telah menyelesaikan semua tindakan yang diperlukan untuk mengaktifkan BigQuery Data Transfer Service.
- Buat set data BigQuery untuk menyimpan data Anda.
- Jika ingin menyiapkan notifikasi operasi transfer untuk Pub/Sub, pastikan Anda memiliki izin Identity and Access Management (IAM)
pubsub.topics.setIamPolicy
. Izin Pub/Sub tidak diperlukan jika Anda hanya menyiapkan notifikasi email. Untuk mengetahui informasi selengkapnya, lihat Notifikasi operasi BigQuery Data Transfer Service.
Peran BigQuery yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat transfer, minta administrator Anda untuk memberi Anda peran IAM BigQuery Admin (roles/bigquery.admin
).
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat transfer. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat transfer:
-
bigquery.transfers.update
pada pengguna -
bigquery.datasets.get
pada set data target -
bigquery.datasets.update
pada set data target
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Menyiapkan transfer data Salesforce
Untuk membuat transfer data Salesforce:
Konsol
Buka halaman Transfer data di konsol Google Cloud .
Klik
Create transfer.Di bagian Source type, untuk Source, pilih Salesforce.
Di bagian Detail sumber data, lakukan hal berikut:
- Untuk My Domain, masukkan My Domain Salesforce Anda.
- Untuk Client ID, masukkan Kunci Konsumen aplikasi terhubung Salesforce.
- Untuk Client secret, masukkan Rahasia Pengguna aplikasi yang terhubung ke Salesforce.
Untuk Salesforce objects to transfer, klik Browse untuk memilih objek yang akan ditransfer ke set data tujuan BigQuery. Anda juga dapat memasukkan objek secara manual untuk disertakan dalam transfer data di kolom ini.
Di bagian Setelan tujuan, untuk Set data, pilih set data yang Anda buat untuk menyimpan data.
Di bagian Transfer config name, untuk Display name, masukkan nama untuk transfer data.
Di bagian Schedule options:
- Dalam daftar Frekuensi berulang, pilih opsi untuk menentukan seberapa sering transfer data ini dijalankan. Untuk menentukan frekuensi pengulangan kustom, pilih Kustom. Jika Anda memilih Sesuai permintaan, transfer ini akan berjalan saat Anda memicu transfer secara manual.
- Jika berlaku, pilih Start now atau Start at set time, dan masukkan tanggal mulai dan waktu proses.
Opsional: Di bagian Opsi notifikasi, lakukan hal berikut:
- Untuk mengaktifkan notifikasi email, klik tombol Notifikasi email. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
- Untuk mengaktifkan notifikasi operasi transfer Pub/Sub untuk transfer ini, klik tombol Notifikasi Pub/Sub. Anda dapat memilih nama topik, atau Anda dapat mengklik Buat topik untuk membuatnya.
Klik Simpan.
bq
Masukkan perintah bq mk
dan berikan flag pembuatan transfer
--transfer_config
:
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=NAME --target_dataset=DATASET --params='PARAMETERS'
Dengan:
- PROJECT_ID (opsional): ID project Google Cloud Anda.
Jika
--project_id
tidak diberikan untuk menentukan project tertentu, project default akan digunakan. - DATA_SOURCE: sumber data —
salesforce
. - NAME: nama tampilan untuk konfigurasi transfer data. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
- DATASET: set data target untuk konfigurasi transfer.
PARAMETERS: parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh:
--params='{"param":"param_value"}'
. Berikut adalah parameter untuk transfer data Salesforce:connector.authentication.oauth.clientId
: Kunci Konsumen aplikasi terhubung Salesforce.connector.authentication.oauth.clientSecret
: Rahasia Klien OAuth atau Rahasia Konsumen aplikasi yang terhubung ke Salesforce.connector.authentication.oauth.myDomain
: Domain Saya Salesforce. Misalnya, jika URL domain Anda adalahexample.my.salesforce.com
, maka nilainya adalahexample
.assets
: jalur ke objek Salesforce yang akan ditransfer ke BigQuery.
Misalnya, perintah berikut akan membuat transfer data Salesforce di project default dengan semua parameter yang diperlukan:
bq mk --transfer_config --target_dataset=mydataset --data_source=salesforce --display_name='My Transfer' --params='{"assets":["Account"], "connector.authentication.oauth.clientId": "1234567890", "connector.authentication.oauth.clientSecret":"ABC12345", "connector.authentication.oauth.myDomain":"MyDomainName",}'
API
Gunakan metode projects.locations.transferConfigs.create
dan berikan instance resource
TransferConfig
.
Pemetaan jenis data
Tabel berikut memetakan jenis data Salesforce ke jenis data BigQuery yang sesuai:
Jenis data Salesforce | Jenis data BigQuery |
---|---|
_bool |
BOOLEAN |
_int |
INTEGER |
_long |
INTEGER |
_double |
FLOAT |
currency |
FLOAT |
percent |
FLOAT |
geolocation (latitude) |
FLOAT |
geolocation (longitude) |
FLOAT |
date |
DATE |
datetime |
TIMESTAMP |
time |
TIME |
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 |
Harga
Tidak ada biaya untuk mentransfer data Salesforce ke BigQuery saat fitur ini dalam status Pratinjau.
Memecahkan masalah penyiapan transfer
Jika Anda mengalami masalah saat menyiapkan transfer data, lihat Masalah transfer Salesforce.
Langkah berikutnya
- Untuk ringkasan BigQuery Data Transfer Service, lihat Pengantar BigQuery Data Transfer Service.
- Untuk informasi cara menggunakan transfer, termasuk mendapatkan informasi tentang konfigurasi transfer, membuat listingan konfigurasi transfer, dan melihat histori pelaksanaan transfer, lihat Menangani transfer.
- Pelajari cara memuat data dengan operasi lintas-cloud.