Salesforce-Daten in BigQuery laden

Mit dem BigQuery Data Transfer Service für Salesforce-Connector können Sie Daten aus Salesforce in BigQuery laden. Mit dem BigQuery Data Transfer Service können Sie wiederkehrende Übertragungsjobs planen, mit denen Ihre neuesten Daten aus Salesforce in BigQuery eingefügt werden.

Beschränkungen

Salesforce-Datenübertragungen unterliegen den folgenden Einschränkungen:

  • BigQuery Data Transfer Service für Salesforce unterstützt nur die Salesforce Bulk API, um eine Verbindung zur Salesforce-Instanz herzustellen, und nur die Übertragung von Entitäten, die von der Salesforce Bulk API unterstützt werden. Weitere Informationen dazu, welche Entitäten unterstützt werden, finden Sie unter Fehler „Entität wird von der Bulk API nicht unterstützt“.
  • Das Mindestintervall zwischen wiederkehrenden Übertragungen beträgt 15 Minuten. Das Standardintervall für eine wiederkehrende Übertragung beträgt 24 Stunden.
  • BigQuery Data Transfer Service verwendet die Salesforce Bulk API v1, um eine Verbindung zum Salesforce-Endpunkt herzustellen und Daten abzurufen.
  • Aufgrund der Verarbeitungslimits von Salesforce kann es zu Verzögerungen oder Fehlern kommen, wenn zu viele Datenübertragungen gleichzeitig geplant werden. Wir empfehlen, Salesforce-Datenübertragungen auf Folgendes zu beschränken:
    • Pro Übertragungskonfiguration dürfen maximal 10 Assets vorhanden sein.
    • Sie dürfen in Ihren verschiedenen Übertragungskonfigurationen maximal 10 gleichzeitige Übertragungen ausführen.
  • Für eine einzelne Übertragungskonfiguration kann jeweils nur eine Datenübertragung ausgeführt werden. Wenn eine zweite Datenübertragung geplant ist, bevor die erste abgeschlossen ist, wird nur die erste Datenübertragung abgeschlossen. Alle anderen Datenübertragungen, die sich mit der ersten überschneiden, werden übersprungen.
    • Um übersprungene Übertragungen innerhalb einer einzelnen Übertragungskonfiguration zu vermeiden, empfehlen wir, die Zeit zwischen großen Datenübertragungen zu verlängern, indem Sie die Wiederholungshäufigkeit konfigurieren.
  • Wenn sich Ihre konfigurierte Netzwerkverbindung und Ihre VM-Instanz in verschiedenen Regionen befinden, kann es bei der Übertragung von Daten aus Salesforce zu regionsübergreifenden Datenübertragungen kommen.

Hinweise

In den folgenden Abschnitten werden die Schritte beschrieben, die Sie vor dem Erstellen einer Salesforce-Übertragung ausführen müssen.

Verbundene App in Salesforce erstellen

Sie müssen eine verbundene Salesforce-App mit den folgenden erforderlichen Konfigurationen erstellen:

  • Konfigurieren Sie die allgemeinen Informationen in der verbundenen App. Der Name der verbundenen App sowie E-Mail-Adresse des Ansprechpartners sind für eine Salesforce-Übertragung erforderlich.
  • OAuth-Einstellungen aktivieren mit den folgenden Konfigurationen:
    • Klicken Sie das Kästchen OAuth-Einstellungen aktivieren an.
    • Geben Sie im Feld Callback-URL Folgendes ein:
      • Geben Sie für eine Produktionsumgebung https://login.salesforce.com/services/oauth2/token ein.
      • Geben Sie für eine Sandbox-Umgebung https://test.salesforce.com/services/oauth2/token ein.
  • Wählen Sie im Abschnitt Ausgewählte OAuth-Bereiche die Option Nutzerdaten über APIs verwalten (api) aus.
  • Entfernen Sie das Häkchen aus dem Kästchen Required Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows (Erforderliche PKCE-Erweiterung (Proof Key for Code Exchange) für unterstützte Autorisierungsabläufe).
  • Wählen Sie Ablauf der Clientanmeldedaten aktivieren aus und klicken Sie dann auf OK in der angezeigten Benachrichtigung.

Wenn Sie die verbundene App mit den erforderlichen Konfigurationen konfiguriert haben, klicken Sie auf Speichern. Sie werden zur Detailseite der neu erstellten verbundenen App weitergeleitet.

Nachdem Sie die verbundene App erstellt haben, müssen Sie auch den Clientanmeldedatenfluss konfigurieren. Gehen Sie dazu so vor:

  1. Klicken Sie auf Einrichten.
  2. Suchen Sie in der Suchleiste nach Verbundene Apps.
  3. Klicken Sie auf Apps verwalten > Verbundene Apps. Wenn Sie Salesforce Lightning Experience verwenden, klicken Sie auf Verbundene Apps verwalten.
  4. Klicken Sie auf die verbundene App, die Sie erstellt haben, und dann auf Bearbeiten.
  5. Die Seite App-Details wird angezeigt. Geben Sie im Abschnitt Client Credentials Flow (Ablauf mit Clientanmeldedaten) Ihren Nutzernamen in das Feld Run As (Ausführen als) ein. Mit dem Suchtool in diesem Feld können Sie sicherstellen, dass Sie den richtigen Nutzer ausgewählt haben.
  6. Klicken Sie auf Speichern.

Erforderliche Salesforce-Informationen

Beim Erstellen einer Salesforce-Datenübertragung benötigen Sie die folgenden Salesforce-Informationen:

Parametername Beschreibung
myDomain Ihre Meine Domain in Salesforce.
clientId Consumer-Key der verbundenen Salesforce-Anwendung.
clientSecret

OAuth-Clientschlüssel oder Consumer Secret der verbundenen Salesforce-Anwendung.

Wählen Sie eine der folgenden Optionen aus, um die Werte für myDomain, clientID und clientSecret zu erhalten:

Salesforce Classic

myDomain-Details abrufen

So finden Sie Ihr myDomain:

  1. Melden Sie sich auf der Salesforce-Plattform an.
  2. Klicken Sie auf Einrichten.
  3. Suchen Sie in der Suchleiste nach Meine Domain.
  4. Klicken Sie in den Suchergebnissen auf Domain Management (Domainverwaltung) > My Domain (Meine Domain).

Im Abschnitt Details zu „Meine Domain“ wird Ihre myDomain als Präfix unter Aktuelle URL für „Meine Domain“ angezeigt. Wenn die URL „Meine Domain“ beispielsweise example.my.salesforce.com lautet, ist der zu verwendende myDomain-Wert example.

ClientId- und ClientSecret-Details abrufen

So finden Sie die Werte für ClientId und ClientSecret:

  1. Melden Sie sich auf der Salesforce-Plattform an.
  2. Klicken Sie auf Einrichten.
  3. Suchen Sie in der Suchleiste nach Apps.
  4. Klicken Sie in den Suchergebnissen im Bereich Build auf Erstellen > Apps.
  5. Klicken Sie auf einen Namen der verbundenen App.
  6. Klicken Sie auf der Seite Details zu verbundenen Apps auf Consumer-Details verwalten.
  7. Bestätigen Sie Ihre Identität mit einer der registrierten Methoden. Sie können die Seite mit den Verbraucherdetails bis zu fünf Minuten lang aufrufen, bevor Sie aufgefordert werden, Ihre Identität noch einmal zu bestätigen.
  8. Auf der Seite Consumer Details (Consumer-Details) ist der Consumer Key (Consumer-Key) Ihr ClientId-Wert. Der Kundenschlüssel ist Ihr ClientSecret-Wert.

Salesforce Lightning Experience

myDomain-Details abrufen

So finden Sie Ihr myDomain:

  1. Melden Sie sich auf der Salesforce-Plattform an.
  2. Klicken Sie auf Einrichten.

Öffnen Sie die Einrichtungsseite in der Salesforce-Plattform.

  1. Suchen Sie in der Suchleiste nach Meine Domain.
  2. Klicken Sie in den Suchergebnissen auf Unternehmenseinstellungen > Meine Domain.

Im Abschnitt Details zu „Meine Domain“ wird Ihre myDomain als Präfix unter Aktuelle URL für „Meine Domain“ angezeigt. Wenn die URL „Meine Domain“ beispielsweise example.my.salesforce.com lautet, ist der zu verwendende myDomain-Wert example.

ClientId- und ClientSecret-Details abrufen

  1. Melden Sie sich auf der Salesforce-Plattform an.
  2. Klicken Sie auf Einrichten.
  3. Suchen Sie in der Suchleiste nach Apps.
  4. Klicken Sie in den Suchergebnissen auf Apps > App Manager.
  5. Suchen Sie nach einer verbundenen App und klicken Sie dann auf Anzeigen.
  6. Klicken Sie auf Consumer-Details verwalten.
  7. Bestätigen Sie Ihre Identität mit einer der registrierten Methoden. Sie können die Seite mit den Verbraucherdetails bis zu fünf Minuten lang aufrufen, bevor Sie aufgefordert werden, Ihre Identität noch einmal zu bestätigen.
  8. Auf der Seite Consumer Details (Consumer-Details) ist der Consumer Key (Consumer-Key) Ihr ClientId-Wert. Der Kundenschlüssel ist Ihr ClientSecret-Wert.

Voraussetzungen für BigQuery

Erforderliche BigQuery-Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle BigQuery-Administrator (roles/bigquery.admin) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen einer BigQuery Data Transfer Service-Datenübertragung benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen einer BigQuery Data Transfer Service-Datenübertragung erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um eine Datenübertragung für den BigQuery Data Transfer Service zu erstellen:

  • Berechtigungen für BigQuery Data Transfer Service:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • BigQuery-Berechtigungen:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Weitere Informationen finden Sie unter Zugriff auf bigquery.admin gewähren.

Salesforce-Datenübertragung einrichten

Sie können Salesforce-Daten in BigQuery einfügen, indem Sie eine Übertragungskonfiguration mit einer der folgenden Optionen einrichten:

Console

  1. Rufen Sie in der Google Cloud -Console die Seite „Datenübertragungen“ auf.

    Zu „Datenübertragungen”

  2. Klicken Sie auf Übertragung erstellen.

  3. Wählen Sie im Abschnitt Source type (Quelltyp) für Source (Quelle) die Option Salesforce aus.

  4. Führen Sie im Abschnitt Details zur Datenquelle folgende Schritte aus:

    • Geben Sie unter Meine Domain Ihre Salesforce-Domain ein.
    • Geben Sie als Client-ID den Consumer-Key der verbundenen Salesforce-Anwendung ein.
    • Geben Sie als Clientschlüssel das Consumer Secret der verbundenen Salesforce-Anwendung ein.
    • Klicken Sie unter Zu übertragende Salesforce-Objekte auf Durchsuchen, um alle Objekte auszuwählen, die an das BigQuery-Ziel-Dataset übertragen werden sollen. Sie können in dieses Feld auch manuell alle Objekte eingeben, die in die Datenübertragung einbezogen werden sollen.

      Salesforce-Übertragungskonfiguration konfigurieren

  5. Wählen Sie im Abschnitt Zieleinstellungen als Dataset das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.

  6. Geben Sie im Abschnitt Konfigurationsname für Übertragung als Anzeigename einen Namen für die Datenübertragung ein.

  7. Im Abschnitt Zeitplanoptionen:

    • Wählen Sie in der Liste Wiederholungshäufigkeit aus, wie oft diese Datenübertragung ausgeführt werden soll. Wenn Sie eine benutzerdefinierte Wiederholungshäufigkeit angeben möchten, wählen Sie Benutzerdefiniert aus. Wenn Sie On demand auswählen, wird diese Datenübertragung ausgeführt, wenn Sie die Übertragung manuell auslösen.
    • Wählen Sie gegebenenfalls Jetzt starten oder Zu festgelegter Zeit starten aus und geben Sie ein Startdatum und eine Laufzeit an.
  8. Optional: Gehen Sie im Abschnitt Benachrichtigungsoptionen so vor:

    • Klicken Sie zum Aktivieren von E‑Mail-Benachrichtigungen auf die Ein/Aus-Schaltfläche E‑Mail-Benachrichtigung. Wenn Sie diese Option aktivieren, erhält der Übertragungsadministrator eine E‑Mail-Benachrichtigung, falls ein Übertragungsvorgang fehlschlägt.
    • Klicken Sie auf die Ein/Aus-Schaltfläche Pub/Sub-Benachrichtigungen, um Pub/Sub-Ausführungsbenachrichtigungen für diese Übertragung zu aktivieren. Sie können Ihr Thema auswählen oder auf Thema erstellen klicken, um eines zu erstellen.
  9. Klicken Sie auf Speichern.

bq

Geben Sie den Befehl bq mk ein und geben Sie das Flag --transfer_config für die Übertragungserstellung an.

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Wobei:

  • PROJECT_ID (optional): Ihre Google Cloud Projekt-ID. Wenn --project_id nicht bereitgestellt wird, um ein bestimmtes Projekt anzugeben, wird das Standardprojekt verwendet.
  • DATA_SOURCE. Die Datenquelle – salesforce.
  • NAME: Der Anzeigename für die Datenübertragungskonfiguration. Der Übertragungsname kann ein beliebiger Wert sein, mit dem Sie die Übertragung identifizieren können, wenn Sie sie später ändern müssen.
  • DATASET: Das Ziel-Dataset für die Übertragungskonfiguration.
  • PARAMETERS: die Parameter für die erstellte Übertragungskonfiguration im JSON-Format. Beispiel: --params='{"param":"param_value"}'. Im Folgenden finden Sie die Parameter für eine Salesforce-Übertragung:

    • connector.authentication.oauth.clientId: Der Consumer-Key der verbundenen Salesforce-Anwendung.
    • connector.authentication.oauth.clientSecret: OAuth-Clientschlüssel oder Consumerschlüssel der verbundenen Salesforce-Anwendung.
    • connector.authentication.oauth.myDomain: Salesforce-Meine Domain. Wenn Ihre Domain-URL beispielsweise example.my.salesforce.com lautet, ist der Wert example.
    • assets: der Pfad zu den Salesforce-Objekten, die in BigQuery übertragen werden sollen.

Mit dem folgenden Befehl wird beispielsweise eine Salesforce-Datenübertragung im Standardprojekt mit allen erforderlichen Parametern erstellt:

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

Verwenden Sie die Methode projects.locations.transferConfigs.create und geben Sie eine Instanz der Ressource TransferConfig an.

Wenn Sie die Übertragungskonfiguration speichern, wird vom Salesforce-Connector automatisch ein Übertragungsvorgang gemäß Ihrer Zeitplanoption ausgelöst. Bei jedem Übertragungsvorgang werden mit dem Salesforce-Connector alle verfügbaren Daten aus Salesforce in BigQuery übertragen.

Wenn Sie eine Datenübertragung manuell außerhalb des regulären Zeitplans ausführen möchten, können Sie einen Backfill-Vorgang starten.

Datentypzuordnung

In der folgenden Tabelle werden Salesforce-Datentypen den entsprechenden BigQuery-Datentypen zugeordnet:

Salesforce-Datentyp BigQuery-Datentyp
_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

Preise

Während sich dieses Feature in der Vorschau befindet, fallen keine Kosten für die Übertragung von Salesforce-Daten in BigQuery an.

Fehler bei der Übertragungseinrichtung beheben

Bei Problemen mit der Einrichtung von Datenübertragungen finden Sie weitere Informationen unter Salesforce-Übertragungsprobleme.

Nächste Schritte