Azure Data Factory veya Azure Synapse Analytics kullanarak Salesforce V2'den ve Salesforce V2'ye veri kopyalama

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

Tip

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Bu makalede, Salesforce'tan ve Salesforce'a veri kopyalamak için Azure Data Factory ve Azure Synapse işlem hatlarında Kopyalama Etkinliği'nin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine dair genel bir bakış sunan Kopyalama Etkinliği genel bakışı makalesine dayanır.

Note

Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric’e özgü yapılandırma ve özellikler için Fabric Salesforce bağlayıcısı belgelerine bakın.

Important

Salesforce V1 bağlayıcısı kaldırma aşamasındadır. Salesforce bağlayıcısını V1'den V2'ye yükseltmeniz önerilir.

Desteklenen özellikler

Bu Salesforce bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler IR
Kopyalama etkinliği (kaynak/havuz) (1) (2)
Arama etkinliği (1) (2)

(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı

Kaynak veya havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.

Bu Salesforce bağlayıcısı özellikle şunları destekler:

  • Salesforce Developer, Professional, Enterprise veya Unlimited sürümleri.
  • Özel etki alanından ve özel etki alanına veri kopyalama (Özel etki alanı hem üretim hem de korumalı alan ortamında yapılandırılabilir).

Bağlı hizmetteki apiVersion özelliği kullanarak verileri okumak/yazmak için kullanılan API sürümünü açıkça ayarlayabilirsiniz. Salesforce'a veri kopyalarken bağlayıcı BULK API 2.0 kullanır.

Prerequisites

  • API izni Salesforce'ta etkinleştirilmelidir.

  • Bu resmi belgeyi veya bu makaledeki önerideki adım adım kılavuzumuzu kullanarak Salesforce portalında Bağlı Uygulamaları yapılandırmanız gerekir.

    Important

    • Yürütme kullanıcısının Yalnızca API izni olmalıdır.
    • Erişim Belirteci'nin süresi, yenileme belirteci yerine oturum ilkeleri aracılığıyla değiştirilebilir.

Salesforce Toplu API 2.0 Sınırları

Verileri sorgulamak ve almak için Salesforce Bulk API 2.0'ı kullanırız. Toplu API 2.0'da toplu işlemler sizin için otomatik olarak oluşturulur. Sıralı 24 saatlik dönem başına en fazla 15.000 toplu işlem gönderebilirsiniz. Toplu işlemler sınırı aşarsa hatalarla karşılaşırsınız.

Toplu API 2.0'da yalnızca veri alma işleri, toplu işlemleri tüketir. Sorgu işleri bunu yapamaz. Ayrıntılar için Toplu API 2.0 Geliştirici Kılavuzu'nda İsteklerin İşlenme Şekli'ne bakın.

Daha fazla bilgi için Salesforce geliştirici sınırları bölümündeki "Genel Sınırlar" bölümüne bakın.

Get started

Kopyalama etkinliğini bir işlem hattıyla gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:

Kullanıcı arabirimini kullanarak Salesforce'a bağlı hizmet oluşturma

Azure portalı kullanıcı arabiriminde Salesforce'a bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınızdaki Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:

    Azure Data Factory UI ile yeni bir bağlı hizmet oluşturma ekranının ekran görüntüsü.

  2. Salesforce için arama yapın ve Salesforce bağlayıcısını seçin.

    Salesforce bağlayıcısının ekran görüntüsü.

  3. Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    Salesforce için bağlı hizmet yapılandırmasının ekran görüntüsü.

Bağlayıcı yapılandırma ayrıntıları

Aşağıdaki bölümlerde Salesforce bağlayıcısına özgü varlıkları tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.

Bağlı hizmet özellikleri

Salesforce bağlı hizmeti için aşağıdaki özellikler desteklenir.

Property Description Required
type Tür özelliği SalesforceV2 olarak ayarlanmalıdır. Yes
environmentUrl Salesforce örneğinin URL'sini belirtin.
Örneğin, verileri özel etki alanından kopyalamak için "https://<domainName>.my.salesforce.com" belirtin. Bu makaleye başvurarak özel etki alanınızı yapılandırmayı veya görüntülemeyi öğrenin.
Yes
authenticationType Salesforce'a bağlanmak için kullanılan kimlik doğrulama türü.
İzin verilen değer OAuth2ClientCredentials değeridir.
Yes
clientId Salesforce OAuth 2.0 Bağlı Uygulamasının istemci kimliğini belirtin. Daha fazla bilgi için bu makaleye gidin Yes
clientSecret Salesforce OAuth 2.0 Bağlı Uygulaması için istemci gizli anahtarını belirtin. Daha fazla bilgi için bu makaleye gidin Yes
apiVersion Kullanılacak Salesforce Bulk API 2.0 sürümünü belirtin, örneğin. 52.0 Toplu API 2.0 yalnızca API sürümü >= 47.0'i destekler. Toplu API 2.0 sürümü hakkında bilgi edinmek için makaleye bakın. Daha düşük bir API sürümü kullanıyorsanız bir hata oluşur. Yes
connectVia Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Belirtilmezse, varsayılan Azure Integration Runtime kullanır. No

Örnek: Kimlik bilgilerini depolama

{
    "name": "SalesforceLinkedService",
    "properties": {
        "type": "SalesforceV2",
        "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"
        }
    }
}

Example: Kimlik bilgilerini Key Vault

{
    "name": "SalesforceLinkedService",
    "properties": {
        "type": "SalesforceV2",
        "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"
        }
    }
}

Örnek: Kimlik bilgilerini, environmentUrl'ü ve clientId'i Key Vault'da depolayın

Kimlik bilgilerini Key Vault ve environmentUrl ve clientId içinde depolayarak, ayarları düzenlemek için kullanıcı arabirimini daha uzun süre kullanabilirsiniz. Dinamik içeriği JSON biçiminde belirt onay kutusu işaretlenmelidir ve bu yapılandırmayı el ile yapmalısınız. Bu senaryonun avantajı, burada herhangi bir şeyi parametreleştirmek yerine tüm yapılandırma ayarlarını Key Vault türetebilmenizdir.

{
    "name": "SalesforceLinkedService",
    "properties": {
        "type": "SalesforceV2",
        "typeProperties": {
            "environmentUrl": {
                "type": "AzureKeyVaultSecret",
                "secretName": "<secret name of environment URL in AKV>",
                "store": {
                    "referenceName": "<Azure Key Vault linked service>",
                    "type": "LinkedServiceReference"
                },
            },
            "authenticationType": "OAuth2ClientCredentials",
            "clientId": {
                "type": "AzureKeyVaultSecret",
                "secretName": "<secret name of client ID in AKV>",
                "store": {
                    "referenceName": "<Azure Key Vault linked service>",
                    "type": "LinkedServiceReference"
                },
            },
            "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"
        }
    }
}

Veri kümesi özellikleri

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Veri kümeleri makalesine bakın. Bu bölümde Salesforce veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.

ve'den Salesforce'a veri kopyalamak için veri kümesinin tür özelliğini SalesforceV2Object olarak ayarlayın. Aşağıdaki özellikler desteklenir.

Property Description Required
type tür özelliği SalesforceV2Object olarak ayarlanmalıdır. Yes
objectApiName Verilerin alınacağı Salesforce nesnesinin adı. Geçerli kendi kendine barındırılan entegrasyon çalışma zamanı sürümü 5.44.8984.1 veya üzeridir. Kaynak için hayır (kaynakta "sorgu" belirtilirse), havuz için Evet
reportId Salesforce raporundan verileri almak için raporun ID'si. Havuz'da desteklenmez. Raporları kullanırken sınırlamalar vardır. Geçerli kendi kendine barındırılan entegrasyon çalışma zamanı sürümü 5.44.8984.1 veya üzeridir. Kaynak için hayır (kaynakta "sorgu" belirtilirse), havuzu desteklemez

Important

API Adı'nın "__c" bölümü herhangi bir özel nesne için gereklidir.

Salesforce bağlantı API'si Adı

Example:

{
    "name": "SalesforceDataset",
    "properties": {
        "type": "SalesforceV2Object",
        "typeProperties": {
            "objectApiName": "MyTable__c"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Salesforce linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Kopyalama etkinliği özellikleri

Etkinlikleri tanımlamak için kullanılabilecek tüm bölümlerin ve özelliklerin listesi için Yapılandırma Hatları makalesine bakın. Bu bölümde Salesforce kaynağı ve havuzu tarafından desteklenen özelliklerin listesi sağlanır.

Kaynak türü olarak Salesforce

Salesforce'tan veri kopyalamak için kopyalama etkinliğindeki kaynak türünü SalesforceV2Source olarak ayarlayın. Kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir.

Property Description Required
type Kopyalama etkinliği kaynağının type özelliği SalesforceV2Source olarak ayarlanmalıdır. Yes
query Verileri okumak için özel sorguyu kullanın. Yalnızca Salesforce Nesne Sorgu Dili (SOQL) sorgusunu kullanabilirsiniz. Sorgu belirtilmezse, veri kümesindeki "objectApiName/reportId" içinde belirtilen Salesforce nesnesinin tüm verileri alınır. Hayır (veri kümesinde "objectApiName/reportId" belirtilirse)
includeDeletedObjects Var olan kayıtların mı yoksa silinenler de dahil olmak üzere tüm kayıtların mı sorgulanıp sorgulanmayacağını gösterir. Belirtilmezse, varsayılan davranış false olur.
İzin verilen değerler: false (varsayılan), true.
No
preserveScaleFromSchema Şemadaki ondalık ölçek tanımına göre ondalık ölçek yuvarlamanın etkinleştirilip etkinleştirilmeymeyeceğini gösterir. Yuvarlama yalnızca özellik true olarak ayarlandığında gerçekleşir. Belirtilmezse, varsayılan davranış false olur. Örneğin, bir sütun şemada ondalık (18,3) olarak tanımlanmışsa, bu seçenek etkinleştirildiğinde 123,123789 değeri 123,124'e yuvarlanr.
İzin verilen değerler: false (varsayılan), true.
No
partitionOption Uygun olduğunda okuma aktarım hızını iyileştirmek için en uygun bölümleme algoritmasını otomatik olarak algılama ve uygulama özelliği sağlayın. Uzun süre çalışan ve çok iş parçacıklı okumalardan faydalanabilecek bir kopya için AutoDetect belirtmeniz önerilir. Varsayılan değer şudur: AutoDetect. No

Important

API Adı'nın "__c" bölümü herhangi bir özel nesne için gereklidir.

Salesforce bağlantı API Adı listesi

Example:

"activities":[
    {
        "name": "CopyFromSalesforce",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Salesforce input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SalesforceV2Source",
                "query": "SELECT Col_Currency__c, Col_Date__c, Col_Email__c FROM AllDataType__c",
                "includeDeletedObjects": false,
                "preserveScaleFromSchema": false,
                "partitionOption": "AutoDetect"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Havuz türü olarak Salesforce

Verileri Salesforce'a kopyalamak için kopyalama etkinliğindeki havuz türünü SalesforceV2Sink olarak ayarlayın. Kopyalama etkinliği havuzu bölümünde aşağıdaki özellikler desteklenir.

Property Description Required
type Kopyalama etkinliği havuzu type özelliği SalesforceV2Sink olarak ayarlanmalıdır. Yes
writeBehavior İşlemin yazma davranışı.
İzin verilen değerler Insert ve Upsert değerleridir.
Hayır (varsayılan değer Ekle'dir)
externalIdFieldName Upsert işleminin dış kimlik alanının adı. Belirtilen alan Salesforce nesnesinde "Dış Kimlik Alanı" olarak tanımlanmalıdır. Karşılık gelen giriş verilerinde NULL değerleri olamaz. "Upsert" için Evet
writeBatchSize Her toplu işlemde Salesforce'a yazılan verilerin satır sayısı. Öneri bu değeri 10.000'den 200.000'e ayarlayın. Her toplu işlemde çok az satır kopyalama performansını azaltır. Her bir işlem grubunda çok fazla satır, API zaman aşımına neden olabilir. Hayır (varsayılan değer 100.000'dir)
ignoreNullValues Yazma işlemi sırasında giriş verilerinden null değerlerin yok sayılıp sayılmadığını gösterir.
İzin verilen değerler true ve false değerleridir.
- Doğru: Bir upsert veya update işlemi yaptığınızda hedef nesnedeki verileri değiştirmeden bırakın. Ekleme işlemi yaparken tanımlı bir varsayılan değer ekleyin.
- False: Bir upsert veya update işlemi yaptığınızda hedef nesnedeki verileri NULL olarak güncelleştirin. Ekleme işlemi yaparken NULL değer ekleyin.
Hayır (varsayılan değer false)
 maxConcurrentConnections Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin.  No

Örnek: Kopyalama etkinliğinde Salesforce havuzu

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

Salesforce için veri türü eşlemesi

Salesforce'tan veri kopyaladığınızda, aşağıdaki eşlemeler Salesforce veri türlerinden hizmet içindeki ara veri türlerine dahili olarak kullanılır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri.

Salesforce veri türü Servis ara veri türü
Otomatik Numaralandırma String
Checkbox Boolean
Currency Decimal
Date DateTime
Date/Time DateTime
Email String
ID String
Arama Bağlantısı String
Çoklu Seçim Listesi String
Number Decimal
Percent Decimal
Phone String
Picklist String
Text String
Metin Alanı String
Metin Alanı (Uzun) String
Metin Alanı (Zengin) String
Metin (Şifrelenmiş) String
URL String

Note

Salesforce Sayı türü, Azure Data Factory ve Azure Synapse işlem hatlarında hizmet ara veri türü olarak Ondalık türüne dönüştürülüyor. Ondalık türü tanımlı hassasiyet ve ölçeklendirmeyi dikkate alır. Tanımlı ölçeği aşan ondalık basamakları olan verilerin değeri önizleme verilerinde yuvarlanır ve kopya edilir. Azure Data Factory ve Azure Synapse işlem hatlarında bu kadar duyarlık kaybı yaşanmasını önlemek için Salesforce'un Custom Alan Tanımı Düzenleme sayfasında ondalık basamakları makul ölçüde büyük bir değere yükseltmeyi göz önünde bulundurun.

Arama etkinliği özellikleri

Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.

Salesforce bağlayıcısı yaşam döngüsü ve yükseltmesi

Aşağıdaki tabloda Salesforce bağlayıcısının farklı sürümleri için yayın aşaması ve değişiklik günlükleri gösterilmektedir:

Version Yayın aşaması Değişiklik Kaydı
Salesforce V1 Removed Uygulanamaz.
Salesforce V2 Ga sürümü kullanılabilir • Temel kimlik doğrulaması yerine OAuth2ClientCredentials kimlik doğrulamasını destekleyin.

• Yalnızca SOQL sorgusunu destekleyin.

• Bir rapor kimliği seçerek raporu destekleyin.

• Kopyalama etkinliği kaynağında partitionOption destekleyin.

• Kopyalama etkinliği kaynağında preserveScaleFromSchema destekleyin.

• readBehavior kopyalama etkinliği kaynağında veya arama etkinliğinde ile includeDeletedObjects değiştirilir.

Salesforce bağlayıcısını V1'den V2'ye yükseltme

Salesforce bağlayıcınızı yükseltmenize yardımcı olacak adımlar şunlardır:

  1. Önkoşullar'a başvurarak Salesforce portalında bağlı uygulamaları yapılandırın.

  2. Yeni bir Salesforce bağlı hizmeti oluşturun ve Bağlı hizmet özelliklerine başvurarak bunu yapılandırın. Ayrıca eski bağlı hizmeti kullanan mevcut veri kümelerini el ile güncelleştirmeniz ve bunun yerine her veri kümesini yeni bağlı hizmeti kullanacak şekilde düzenlemeniz gerekir.

  3. Kopyalama etkinliği kaynağında veya V1 bağlı hizmetine başvuran arama etkinliğinde SQL sorgusu kullanıyorsanız, bunları SOQL sorgusuna dönüştürmeniz gerekir. Kaynak türü olarak Salesforce'tan SOQL sorgusu ve Salesforce Nesne Sorgu Dili (SOQL) hakkında daha fazla bilgi edinin.

  4. Kopyalama etkinliği kaynağında partitionOption desteği. Ayrıntılı yapılandırma için, bir kaynak türü olarak Salesforce'a bakın.

  5. Kopyalama etkinliği kaynağında preserveScaleFromSchema desteği. Ayrıntılı yapılandırma için, bir kaynak türü olarak Salesforce'a bakın.

  6. readBehavior , kopyalama etkinliği kaynağında veya arama etkinliğinde ile includeDeletedObjects değiştirilir. Ayrıntılı yapılandırma için, bir kaynak türü olarak Salesforce'a bakın.

Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . Desteklenen veri depoları.