Menyalin data dari dan ke Salesforce Service Cloud menggunakan Azure Data Factory atau Azure Synapse Analytics

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory dan Azure Synapse untuk menyalin data dari dan ke Salesforce Service Cloud. Artikel tersebut dibuat berdasarkan artikel Gambaran umum Salin Aktivitas yang menyajikan gambaran umum aktivitas salin.

Penting

Konektor Salesforce Service Cloud baru menyediakan dukungan Salesforce Service Cloud asli yang ditingkatkan. Jika Anda menggunakan konektor Salesforce Service Cloud warisan dalam solusi Anda, didukung apa adanya untuk kompatibilitas mundur saja, lihat artikel konektor Salesforce Service Cloud (warisan).

Kemampuan yang didukung

Konektor Salesforce Service Cloud ini didukung untuk kemampuan berikut ini:

Kemampuan yang didukung IR
Salin aktivitas (sumber/sink) (1) (2)
Aktivitas pencarian (1) (2)

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink, lihat tabel penyimpanan data yang didukung.

Secara khusus, konektor Salesforce Service Cloud ini mendukung:

  • Pengembang Salesforce, Profesional, Enterprise, atau edisi Unlimited.
  • Menyalin data dari dan ke domain kustom (Domain kustom dapat dikonfigurasi di lingkungan produksi dan kotak pasir).

Anda dapat secara eksplisit mengatur versi API yang digunakan untuk membaca/menulis data melalui apiVersion properti di layanan tertaut. Saat menyalin data ke Salesforce Service Cloud, konektor menggunakan BULK API 2.0.

Prasyarat

  • Izin API harus diaktifkan di Salesforce.

  • Anda perlu mengonfigurasi Aplikasi Koneksi di portal Salesforce yang mengacu pada dokumen resmi ini atau panduan langkah demi langkah kami dalam rekomendasi dalam artikel ini.

    Penting

    • Pengguna eksekusi harus memiliki izin API Only.
    • Waktu kedaluwarsa Token Akses dapat diubah melalui kebijakan sesi alih-alih token refresh.

Batas Salesforce Bulk API 2.0

Kami menggunakan Salesforce Bulk API 2.0 untuk mengkueri dan menyerap data. Di API Massal 2.0, batch dibuat untuk Anda secara otomatis. Anda dapat mengirimkan hingga 15.000 batch per periode 24 jam bergulir. Jika batch melebihi batas, Anda akan melihat kegagalan.

Dalam API Massal 2.0, hanya pekerjaan penyerapan yang mengonsumsi batch. Pekerjaan kueri tidak. Untuk detailnya, lihat Cara Permintaan Diproses di Panduan Pengembang API 2.0 Massal.

Untuk informasi selengkapnya, lihat bagian "Batas Umum" di batas pengembang Salesforce.

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Membuat layanan tertaut ke Salesforce Service Cloud menggunakan UI

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Salesforce Service Cloud di UI portal Azure.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari Salesforce dan pilih konektor Salesforce Service Cloud.

    Cuplikan layar konektor Salesforce Service Cloud.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Cuplikan layar konfigurasi layanan tertaut untuk Salesforce Service Cloud.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas khusus untuk konektor Salesforce Service Cloud.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut Salesforce Service Cloud.

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke SalesforceServiceCloudV2. Ya
environmentUrl Tentukan URL instans Salesforce Service Cloud.
Misalnya, tentukan "https://<domainName>.my.salesforce.com" untuk menyalin data dari domain kustom. Pelajari cara mengonfigurasi atau menampilkan domain kustom Anda yang merujuk ke artikel ini.
Ya
authenticationType Jenis autentikasi yang digunakan untuk menyambungkan ke Salesforce Service Cloud.
Nilai yang diizinkan adalah OAuth2ClientCredentials.
Ya
clientId Tentukan ID klien Aplikasi Koneksi Salesforce OAuth 2.0. Untuk informasi selengkapnya, buka artikel ini Ya
clientSecret Tentukan rahasia klien Aplikasi Koneksi Salesforce OAuth 2.0. Untuk informasi selengkapnya, buka artikel ini Ya
apiVersion Tentukan versi Salesforce Bulk API 2.0 untuk digunakan, misalnya 52.0. API Massal 2.0 hanya mendukung versi >API = 47.0. Untuk mempelajari tentang versi 2.0 API Massal, lihat artikel. Jika Anda menggunakan versi API yang lebih rendah, itu akan mengakibatkan kegagalan. Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. No

Contoh: Info masuk Microsoft Store

{
    "name": "SalesforceServiceCloudLinkedService",
    "properties": {
        "type": "SalesforceServiceCloudV2",
        "typeProperties": {
            "environmentUrl": "<environment URL>",
            "authenticationType": "OAuth2ClientCredentials",
            "clientId": "<client ID>",
            "clientSecret": {
                "type": "SecureString",
                "value": "<client secret>"
            },
            "apiVersion": "<API Version>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Menyimpan info masuk di Key Vault

{
    "name": "SalesforceServiceCloudLinkedService",
    "properties": {
        "type": "SalesforceServiceCloudV2",
        "typeProperties": {
            "environmentUrl": "<environment URL>",
            "authenticationType": "OAuth2ClientCredentials",
            "clientId": "<client ID>",
            "clientSecret": {
                "type": "AzureKeyVaultSecret",
                "secretName": "<secret name of client secret in AKV>",
                "store":{
                    "referenceName": "<Azure Key Vault linked service>",
                    "type": "LinkedServiceReference"
                }
            },
            "apiVersion": "<API Version>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel Himpunan Data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data Salesforce Service Cloud.

Untuk menyalin data dari dan ke Salesforce Service Cloud, atur properti jenis himpunan data ke SalesforceServiceCloudV2Object. Properti berikut ini didukung.

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke SalesforceServiceCloudV2Object. Ya
objectApiName Nama objek Salesforce Service Cloud untuk mengambil data. Tidak untuk sumber (jika "SOQLQuery" di sumber ditentukan), Ya untuk sink
reportId ID laporan Salesforce Service Cloud untuk mengambil data. Ini tidak didukung di sink. Perhatikan bahwa ada batasan saat Anda menggunakan laporan. Tidak untuk sumber (jika "SOQLQuery" di sumber ditentukan), tidak mendukung sink

Penting

Bagian "__c" dari Nama API diperlukan untuk objek kustom apa pun.

Nama API koneksi Salesforce

Contoh:

{
    "name": "SalesforceServiceCloudDataset",
    "properties": {
        "type": "SalesforceServiceCloudV2Object",
        "typeProperties": {
            "objectApiName": "MyTable__c"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Salesforce Service Cloud linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber dan sink Salesforce Service Cloud.

Salesforce Service Cloud sebagai jenis sumber

Untuk menyalin data dari Salesforce Service Cloud, atur jenis sumber dalam aktivitas salin ke SalesforceServiceCloudV2Source. Properti berikut ini didukung di bagian sumber aktivitas salin.

Properti Deskripsi Wajib
jenis Properti jenis sumber aktivitas salin harus diatur ke SalesforceServiceCloudV2Source. Ya
SOQLQuery Gunakan kueri kustom untuk membaca data. Anda hanya bisa menggunakan kueri Salesforce Object Query Language (SOQL) dengan batasan. Untuk batasan SOQL, lihat artikel ini. Jika kueri tidak ditentukan, semua data objek Salesforce yang ditentukan dalam "ObjectApiName/reportId" dalam himpunan data akan diambil. Tidak (jika "ObjectApiName/reportId" dalam himpunan data ditentukan)
includeDeletedObjects Menunjukkan apakah akan mengkueri rekaman yang sudah ada, atau mengkueri semua rekaman termasuk yang dihapus. Jika tidak ditentukan, perilaku defaultnya adalah false.
Nilai yang diizinkan: false (default), true.
No

Penting

Bagian "__c" dari Nama API diperlukan untuk objek kustom apa pun.

Daftar Nama API koneksi Salesforce

Contoh:

"activities":[
    {
        "name": "CopyFromSalesforceServiceCloud",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Salesforce Service Cloud input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SalesforceServiceCloudV2Source",
                "SOQLQuery": "SELECT Col_Currency__c, Col_Date__c, Col_Email__c FROM AllDataType__c",
                "includeDeletedObjects": false
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Salesforce Service Cloud sebagai jenis sink

Untuk menyalin data ke Salesforce Service Cloud, atur jenis sink dalam aktivitas salin ke SalesforceServiceCloudV2Sink. Properti berikut ini didukung di bagian sink aktivitas salin.

Properti Deskripsi Wajib
jenis Properti jenis sink aktivitas salin harus diatur ke SalesforceServiceCloudV2Sink. Ya
writeBehavior Perilaku penulisan untuk operasi.
Nilai yang diperbolehkan Sisipkan dan Upsert.
Tidak (defaultnya adalah sisipkan)
NamaBidangEksternal Nama bidang ID eksternal untuk operasi upsert. Bidang yang ditentukan harus didefinisikan sebagai "External ID Field" di objek Salesforce Service Cloud. Ini tidak dapat memiliki nilai NULL dalam data input yang sesuai. Ya untuk "Upsert"
writeBatchSize Jumlah baris data yang ditulis ke Salesforce Service Cloud di setiap batch. Sarankan tetapkan nilai ini dari 10.000 hingga 200.000. Terlalu sedikit baris di setiap batch akan mengurangi performa salin. Terlalu banyak baris di setiap batch dapat menyebabkan batas waktu API. Tidak (defaultnya adalah 100.000)
ignoreNullValues Menunjukkan apakah akan mengabaikan nilai NULL dari data input selama operasi tulis.
Nilai yang diperbolehkan adalah true dan false.
- Benar: Biarkan data di objek tujuan tanpa perubahan saat Anda melakukan operasi upsert atau pembaruan. Sisipkan nilai default yang ditentukan saat Anda melakukan operasi sisipan.
- Salah: Perbarui data di objek tujuan ke nilai NULL saat Anda melakukan operasi upsert atau pembaruan. Sisipkan nilai NULL saat Anda melakukan operasi sisipan.
Tidak (default adalah salah)
 maxConcurrent Koneksi ions Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan.  Tanpa

Contoh: Salesforce Service Cloud sink dalam aktivitas salin

"activities":[
    {
        "name": "CopyToSalesforceServiceCloud",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Salesforce Service Cloud output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "SalesforceServiceCloudV2Sink",
                "writeBehavior": "Upsert",
                "externalIdFieldName": "CustomerId__c",
                "writeBatchSize": 10000,
                "ignoreNullValues": true
            }
        }
    }
]

Pemetaan jenis data untuk Salesforce Service Cloud

Saat Anda menyalin data dari Salesforce Service Cloud, pemetaan berikut digunakan dari jenis data Salesforce Service Cloud ke jenis data sementara dalam layanan secara internal. Untuk mempelajari bagaimana aktivitas salin memetakan skema sumber dan jenis data ke sink, lihat Pemetaan skema dan jenis data.

Jenis data Salesforce Service Cloud Jenis data sementara layanan
Nomor Otomatis String
Kotak centang Boolean
Mata Uang Decimal
Tanggal DateTime
Tanggal/Waktu DateTime
Email String
ID String
Hubungan Pencarian String
Multi-Select Picklist String
Angka Decimal
Persen Decimal
Nomor String
Daftar pilihan String
SMS String
Bidang Teks String
Area Teks (Panjang) String
Area Teks (Kaya) String
Teks (Terenkripsi) String
URL String

Catatan

Jenis Nomor Cloud Layanan Salesforce memetakan ke Jenis desimal di alur Azure Data Factory dan Azure Synapse sebagai jenis data sementara layanan. Jenis desimal menggunakan presisi dan skala yang ditentukan. Untuk data yang tempat desimalnya melebihi skala yang ditentukan, nilainya akan dibulatkan dalam data pratinjau dan salinan. Untuk menghindari kehilangan presisi tersebut di alur Azure Data Factory dan Azure Synapse, pertimbangkan untuk meningkatkan tempat desimal ke nilai yang cukup besar di halaman Edit Definisi Bidang Kustom salesforce Service Cloud.

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Meningkatkan layanan tertaut Salesforce Service Cloud

Berikut adalah langkah-langkah yang membantu Anda meningkatkan layanan tertaut dan kueri terkait:

  1. Konfigurasikan aplikasi yang terhubung di portal Salesforce dengan merujuk ke Prasyarat.

  2. Buat layanan tertaut Salesforce Service Cloud baru dan konfigurasikan dengan merujuk ke Properti layanan tertaut.

  3. Jika Anda menggunakan kueri SQL di sumber aktivitas salin atau aktivitas pencarian yang mengacu pada layanan tertaut warisan, Anda perlu mengonversinya ke kueri SOQL. Pelajari selengkapnya tentang kueri SOQL dari Salesforce Service Cloud sebagai jenis sumber dan Salesforce Object Query Language (SOQL).

  4. readBehavior diganti dengan includeDeletedObjects di sumber aktivitas salin atau aktivitas pencarian. Untuk konfigurasi terperinci, lihat Salesforce Service Cloud sebagai jenis sumber.

Perbedaan antara Salesforce Service Cloud dan Salesforce Service Cloud (warisan)

Konektor Salesforce Service Cloud menawarkan fungsionalitas baru dan kompatibel dengan sebagian besar fitur konektor Salesforce Service Cloud (warisan). Tabel di bawah ini menunjukkan perbedaan fitur antara Salesforce Service Cloud dan Salesforce Service Cloud (warisan).

Cloud Layanan Salesforce Salesforce Service Cloud (warisan)
Mendukung SOQL dalam Salesforce Bulk API 2.0.
Untuk kueri SOQL:
• Klausa GROUP BY, LIMIT, ORDER BY, OFFSET, atau TYPEOF tidak didukung.
• Fungsi Agregat seperti COUNT() tidak didukung, Anda dapat menggunakan laporan Salesforce untuk mengimplementasikannya.
• Fungsi tanggal dalam klausul GROUP BY tidak didukung, tetapi didukung dalam klausa WHERE.
• Bidang alamat majemuk atau bidang geolokasi majemuk tidak didukung. Sebagai alternatif, kueri masing-masing komponen bidang senyawa.
• Kueri hubungan induk ke anak tidak didukung, sedangkan kueri hubungan turunan ke induk didukung.
Mendukung sintaks SQL dan SOQL.
Objek yang berisi bidang biner tidak didukung. Objek yang berisi bidang biner didukung, seperti objek Lampiran.
Mendukung objek dalam API Massal. Untuk informasi selengkapnya, lihat artikel ini. Objek dukungan yang tidak didukung oleh API Massal, seperti CaseStatus.
Laporan dukungan dengan memilih ID laporan. Mendukung sintaks kueri laporan, seperti {call "<report name>"}.

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat Penyimpanan data yang didukung.