Udostępnij przez


Kopiowanie danych z i do usługi Salesforce Service w chmurze w wersji 2 przy użyciu usługi Azure Data Factory lub Azure Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Tip

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób używania działania kopiowania w potokach usługi Azure Data Factory i Azure Synapse w celu kopiowania danych z i do usługi Salesforce Service Cloud. Jest on oparty na artykule Omówienie działania kopiowania, który przedstawia ogólne omówienie działania kopiowania.

Important

Łącznik Salesforce Service Cloud V1 jest na etapie usuwania. Zaleca się uaktualnienie łącznika Salesforce Service Cloud z wersji 1 do wersji 2.

Obsługiwane możliwości

Ten łącznik usługi Salesforce Service Cloud jest obsługiwany w następujących funkcjach:

Obsługiwane możliwości środowisko IR
działanie Kopiuj (źródło/ujście) (1) (2)
Aktywność wyszukiwania (1) (2)

(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime

Aby uzyskać listę magazynów danych obsługiwanych jako źródła lub ujścia, zobacz tabelę Obsługiwane magazyny danych.

W szczególności ten łącznik usługi Salesforce Service Cloud obsługuje następujące elementy:

  • Wersje Salesforce Developer, Professional, Enterprise lub Unlimited.
  • Kopiowanie danych z i do domeny niestandardowej (domena niestandardowa można skonfigurować zarówno w środowiskach produkcyjnych, jak i piaskownicy).

Możesz jawnie ustawić wersję interfejsu API używaną do odczytu/zapisu danych za pośrednictwem apiVersion właściwości w połączonej usłudze. Podczas kopiowania danych do usługi Salesforce Service Cloud łącznik używa interfejsu API BULK 2.0.

Prerequisites

  • Uprawnienia interfejsu API muszą być włączone w usłudze Salesforce.

  • Musisz skonfigurować portal Connected Apps w usłudze Salesforce odwołując się do tego oficjalnego dokumentu lub wskazówek krok po kroku w rekomendacji w tym artykule.

    Important

    • Użytkownik wykonywania musi mieć uprawnienie Tylko interfejs API.
    • Czas wygaśnięcia tokenu dostępu można zmienić za pomocą zasad sesji zamiast tokenu odświeżania.

Limity interfejsu API zbiorczego usługi Salesforce 2.0

Do wykonywania zapytań i pozyskiwania danych używamy interfejsu API zbiorczego usługi Salesforce 2.0. W przypadku zbiorczego interfejsu API 2.0 partie są tworzone automatycznie. Można przesłać maksymalnie 15 000 partii na okres 24-godzinny. Jeśli partie przekraczają limit, zostaną wyświetlone błędy.

W przypadku zbiorczego interfejsu API 2.0 tylko zadania pozyskiwania zużywają partie. Zadania zapytań nie są wykonywane. Aby uzyskać szczegółowe informacje, zobacz How Requests are Processed in the Bulk API 2.0 Developer Guide (Jak żądania są przetwarzane w przewodniku dla deweloperów interfejsu API zbiorczego 2.0).

Aby uzyskać więcej informacji, zobacz sekcję "Ogólne limity" w temacie Limity dla deweloperów usługi Salesforce.

Wprowadzenie

Aby wykonać działanie kopiowania za pomocą pipeline'u, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Tworzenie połączonej usługi z usługą Salesforce Service Cloud przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę z usługą Salesforce Service Cloud w interfejsie użytkownika witryny Azure Portal.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:

  2. Wyszukaj pozycję Salesforce i wybierz łącznik Salesforce Service Cloud.

    Zrzut ekranu przedstawiający łącznik Salesforce Service Cloud.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Zrzut ekranu przedstawiający konfigurację połączonej usługi dla usługi Salesforce Service Cloud.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek specyficznych dla łącznika usługi Salesforce Service Cloud.

Właściwości połączonej usługi

Następujące właściwości są obsługiwane dla połączonej usługi Salesforce Service w chmurze.

Property Description Required
typ Właściwość type musi być ustawiona na SalesforceServiceCloudV2. Yes
environmentUrl Określ adres URL wystąpienia usługi Salesforce Service w chmurze.
Na przykład określ "https://<domainName>.my.salesforce.com" , aby skopiować dane z domeny niestandardowej. Dowiedz się, jak skonfigurować lub wyświetlić domenę niestandardową, korzystając z tego artykułu.
Yes
authenticationType Typ uwierzytelniania używanego do nawiązywania połączenia z usługą Salesforce Service Cloud.
Dozwolona wartość to OAuth2ClientCredentials.
Yes
clientId Określ identyfikator klienta połączonej aplikacji OAuth 2.0 usługi Salesforce. Aby uzyskać więcej informacji, przejdź do tego artykułu Yes
clientSecret Określ wpis tajny klienta połączonej aplikacji OAuth 2.0 usługi Salesforce. Aby uzyskać więcej informacji, przejdź do tego artykułu Yes
apiVersion Określ wersję interfejsu API zbiorczego usługi Salesforce w wersji 2.0, np. 52.0. Interfejs API zbiorczy 2.0 obsługuje tylko wersję >interfejsu API = 47.0. Aby dowiedzieć się więcej o wersji zbiorczego interfejsu API 2.0, zobacz artykuł. Jeśli używasz niższej wersji interfejsu API, spowoduje to niepowodzenie. Yes
connectVia Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. No

Przykład: Przechowywanie poświadczeń

{
    "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"
        }
    }
}

Przykład: przechowywanie poświadczeń w usłudze 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"
        }
    }
}

Właściwości zestawu danych

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz artykuł Zestawy danych. Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych salesforce Service Cloud.

Aby skopiować dane z i do usługi Salesforce Service Cloud, ustaw właściwość type zestawu danych na SalesforceServiceCloudV2Object. Obsługiwane są następujące właściwości.

Property Description Required
typ Właściwość type musi być ustawiona na SalesforceServiceCloudV2Object. Yes
objectApiName Nazwa obiektu usługi Salesforce Service w chmurze do pobierania danych. Odpowiednia wersja własnego środowiska Integration Runtime to 5.44.8984.1 lub nowsza. Nie dla źródła (jeśli określono "zapytanie" w źródle), tak dla ujścia
reportId Identyfikator raportu usługi Salesforce Service w chmurze do pobrania danych. Nie jest obsługiwany w ujściu. Należy pamiętać, że w przypadku korzystania z raportów obowiązują ograniczenia. Odpowiednia wersja własnego środowiska Integration Runtime to 5.44.8984.1 lub nowsza. Nie dla źródła (jeśli określono "zapytanie" w źródle), nie obsługuje ujścia

Important

Część "__c" nazwy interfejsu API jest wymagana dla dowolnego obiektu niestandardowego.

Nazwa interfejsu API połączenia usługi Salesforce

Example:

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

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez źródło i ujście usługi Salesforce Service.

Salesforce Service Cloud jako typ źródła

Aby skopiować dane z usługi Salesforce Service Cloud, ustaw typ źródła w działaniu kopiowania na SalesforceServiceCloudV2Source. Poniższe właściwości są obsługiwane w sekcji źródła działania kopiowania.

Property Description Required
typ Właściwość type źródła działania kopiowania musi być ustawiona na SalesforceServiceCloudV2Source. Yes
kwerenda Użyj zapytania niestandardowego, aby odczytać dane. Można używać tylko zapytania SOQL (Salesforce Object Query Language). Jeśli zapytanie nie zostanie określone, zostaną pobrane wszystkie dane obiektu Salesforce określone w parametrze "objectApiName/reportId" w zestawie danych. Nie (jeśli określono parametr "objectApiName/reportId" w zestawie danych)
includeDeletedObjects Wskazuje, czy należy wykonywać zapytania dotyczące istniejących rekordów, czy wykonywać zapytania dotyczące wszystkich rekordów, w tym usuniętych rekordów. Jeśli nie zostanie określony, domyślne zachowanie to false.
Dozwolone wartości: false (wartość domyślna), true.
No
partitionOption Zapewnienie możliwości automatycznego wykrywania i stosowania optymalnego algorytmu partycjonowania w celu zoptymalizowania pod kątem przepływności odczytu, jeśli ma to zastosowanie. Zaleca się określenie AutoDetect dla operacji kopiowania, która trwa długo i może korzystać z odczytu wielowątkowego. Domyślna wartość to AutoDetect. No

Important

Część "__c" nazwy interfejsu API jest wymagana dla dowolnego obiektu niestandardowego.

Lista nazw interfejsu API połączeń usługi Salesforce

Example:

"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",
                "query": "SELECT Col_Currency__c, Col_Date__c, Col_Email__c FROM AllDataType__c",
                "includeDeletedObjects": false,
                "partitionOption": "AutoDetect"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Salesforce Service Cloud jako typ ujścia

Aby skopiować dane do usługi Salesforce Service Cloud, ustaw typ ujścia w działaniu kopiowania na SalesforceServiceCloudV2Sink. Poniższe właściwości są obsługiwane w sekcji ujścia działania kopiowania.

Property Description Required
typ Właściwość type ujścia działania kopiowania musi być ustawiona na SalesforceServiceCloudV2Sink. Yes
writeBehavior Zachowanie zapisu dla operacji.
Dozwolone wartości to Insert i Upsert.
Nie (wartość domyślna to Wstaw)
externalIdFieldName Nazwa pola identyfikatora zewnętrznego dla operacji upsert. Określone pole musi być zdefiniowane jako "Pole identyfikatora zewnętrznego" w obiekcie Salesforce Service Cloud. Nie może mieć wartości NULL w odpowiednich danych wejściowych. Tak dla "Upsert"
writeBatchSize Liczba wierszy zapisanych w usłudze Salesforce Service Cloud w każdej partii. Zasugeruj ustawienie tej wartości z zakresu od 10 000 do 200 000. Zbyt mało wierszy w każdej partii zmniejszy wydajność kopiowania. Zbyt wiele wierszy w każdej partii może spowodować przekroczenie limitu czasu interfejsu API. Nie (wartość domyślna to 100 000)
ignoreNullValues Wskazuje, czy podczas operacji zapisu mają być ignorowane wartości NULL z danych wejściowych.
Dozwolone wartości to true i false.
- Prawda: pozostaw dane w obiekcie docelowym bez zmian podczas wykonywania operacji upsert lub update. Wstaw zdefiniowaną wartość domyślną podczas wykonywania operacji wstawiania.
- Fałsz: Zaktualizuj dane w obiekcie docelowym na wartość NULL podczas wykonywania operacji upsert lub update. Wstaw wartość NULL podczas wykonywania operacji wstawiania.
Nie (wartość domyślna to false)
 maxConcurrentConnections Górny limit połączeń współbieżnych ustanowionych z magazynem danych podczas uruchamiania działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne.  No

Przykład: ujście usługi Salesforce Service w chmurze w działaniu kopiowania

"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
            }
        }
    }
]

Mapowanie typów danych dla usługi Salesforce Service Cloud

Podczas kopiowania danych z usługi Salesforce Service Cloud następujące mapowania są używane z typów danych usługi Salesforce Service w chmurze do tymczasowych typów danych w ramach usługi wewnętrznie. Aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na ujście, zobacz Mapowania schematu i typu danych.

Typ danych usługi Salesforce Service w chmurze Typ danych tymczasowych usługi
Numerowanie automatyczne String
Checkbox logiczny
Currency Decimal
Date DateTime
Data/godzina DateTime
Email String
identyfikator String
Relacja wyszukiwania String
Lista wyboru wielokrotnego String
Number Decimal
Percent Decimal
Phone String
Picklist String
Tekst String
Obszar tekstu String
Obszar tekstu (długi) String
Obszar tekstu (sformatowany) String
Tekst (zaszyfrowany) String
adres URL String

Note

Typ numeru chmury usługi Salesforce jest mapowana na typ dziesiętny w potokach usługi Azure Data Factory i Azure Synapse jako typ danych tymczasowych usługi. Typ dziesiętny honoruje zdefiniowaną precyzję i skalę. W przypadku danych, których miejsca dziesiętne przekraczają zdefiniowaną skalę, jego wartość zostanie zaokrąglona w danych podglądu i skopiowaniu. Aby uniknąć utraty dokładności w potokach usługi Azure Data Factory i Azure Synapse, rozważ zwiększenie liczby miejsc dziesiętnych do dość dużej wartości na stronie Edycja definicji pola niestandardowego w chmurze usługi Salesforce Service.

Właściwości działania wyszukiwania

Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.

Cykl życia i uaktualnianie łącznika usługi Salesforce Service w chmurze

W poniższej tabeli przedstawiono etap wydania i dzienniki zmian dla różnych wersji łącznika Salesforce Service Cloud:

Version Etap wydania Dziennik zmian
Salesforce Service Cloud V1 Removed Nie dotyczy.
Salesforce Service Cloud V2 Wersja GA dostępna • Obsługa uwierzytelniania OAuth2ClientCredentials zamiast uwierzytelniania podstawowego.

• Obsługa tylko zapytań SOQL.

• Raport pomocy technicznej, wybierając identyfikator raportu.

• Obsługa partitionOption w źródle działania kopiowania.

readBehavior jest zastępowany includeDeletedObjects w źródle działania kopiowania lub w działaniu wyszukiwania.

Uaktualnianie łącznika usługi Salesforce Service Cloud

Poniżej przedstawiono kroki ułatwiające uaktualnienie łącznika usługi Salesforce Service Cloud:

  1. Skonfiguruj połączone aplikacje w portalu usługi Salesforce, korzystając z sekcji Wymagania wstępne.

  2. Utwórz nową połączoną usługę Salesforce Service w chmurze i skonfiguruj ją, odwołując się do właściwości połączonej usługi.

  3. Jeśli używasz zapytania SQL w źródle działania kopiowania lub działania wyszukiwania odwołującego się do połączonej usługi V1, musisz przekonwertować je na zapytanie SOQL. Dowiedz się więcej o zapytaniu SOQL z usługi Salesforce Service Cloud jako typu źródłowego i języka zapytań SOQL (Salesforce Object Query Language).

  4. Obsługa źródła operacji kopiowania z użyciem partitionOption. Aby uzyskać szczegółową konfigurację, zobacz Salesforce Service Cloud jako typ źródła.

  5. readBehavior element jest zastępowany includeDeletedObjects w źródle działania kopiowania lub w działaniu wyszukiwania. Aby uzyskać szczegółową konfigurację, zobacz Salesforce Service Cloud jako typ źródła.

Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz Obsługiwane magazyny danych.