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.
- Geben Sie für eine Produktionsumgebung
- 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:
- Klicken Sie auf Einrichten.
- Suchen Sie in der Suchleiste nach Verbundene Apps.
- Klicken Sie auf Apps verwalten > Verbundene Apps. Wenn Sie Salesforce Lightning Experience verwenden, klicken Sie auf Verbundene Apps verwalten.
- Klicken Sie auf die verbundene App, die Sie erstellt haben, und dann auf Bearbeiten.
- 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.
- 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
:
- Melden Sie sich auf der Salesforce-Plattform an.
- Klicken Sie auf Einrichten.
- Suchen Sie in der Suchleiste nach Meine Domain.
- 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
:
- Melden Sie sich auf der Salesforce-Plattform an.
- Klicken Sie auf Einrichten.
- Suchen Sie in der Suchleiste nach Apps.
- Klicken Sie in den Suchergebnissen im Bereich Build auf Erstellen > Apps.
- Klicken Sie auf einen Namen der verbundenen App.
- Klicken Sie auf der Seite Details zu verbundenen Apps auf Consumer-Details verwalten.
- 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.
- Auf der Seite Consumer Details (Consumer-Details) ist der Consumer Key (Consumer-Key) Ihr
ClientId
-Wert. Der Kundenschlüssel ist IhrClientSecret
-Wert.
Salesforce Lightning Experience
myDomain
-Details abrufen
So finden Sie Ihr myDomain
:
- Melden Sie sich auf der Salesforce-Plattform an.
- Klicken Sie auf Einrichten.
- Suchen Sie in der Suchleiste nach Meine Domain.
- 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
- Melden Sie sich auf der Salesforce-Plattform an.
- Klicken Sie auf Einrichten.
- Suchen Sie in der Suchleiste nach Apps.
- Klicken Sie in den Suchergebnissen auf Apps > App Manager.
- Suchen Sie nach einer verbundenen App und klicken Sie dann auf Anzeigen.
- Klicken Sie auf Consumer-Details verwalten.
- 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.
- Auf der Seite Consumer Details (Consumer-Details) ist der Consumer Key (Consumer-Key) Ihr
ClientId
-Wert. Der Kundenschlüssel ist IhrClientSecret
-Wert.
Voraussetzungen für BigQuery
- Überprüfen Sie, ob Sie alle erforderlichen Aktionen ausgeführt haben, damit Sie den BigQuery Data Transfer Service aktivieren können.
- Erstellen Sie ein BigQuery-Dataset zum Speichern Ihrer Daten.
- Wenn Sie Benachrichtigungen zur Übertragungsausführung für Pub/Sub einrichten möchten, benötigen Sie die IAM-Berechtigung (Identity and Access Management)
pubsub.topics.setIamPolicy
. Pub/Sub-Berechtigungen sind nicht erforderlich, wenn Sie nur E-Mail-Benachrichtigungen einrichten. Weitere Informationen finden Sie unter Ausführungsbenachrichtigungen im BigQuery Data Transfer Service.
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
Rufen Sie in der Google Cloud -Console die Seite „Datenübertragungen“ auf.
Klicken Sie auf
Übertragung erstellen.Wählen Sie im Abschnitt Source type (Quelltyp) für Source (Quelle) die Option Salesforce aus.
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.
Wählen Sie im Abschnitt Zieleinstellungen als Dataset das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.
Geben Sie im Abschnitt Konfigurationsname für Übertragung als Anzeigename einen Namen für die Datenübertragung ein.
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.
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.
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 beispielsweiseexample.my.salesforce.com
lautet, ist der Wertexample
.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 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
- Eine Übersicht über den BigQuery Data Transfer Service finden Sie unter Einführung in BigQuery Data Transfer Service.
- Informationen zum Verwenden von Übertragungen, einschließlich des Abrufs von Informationen zu einer Übertragungskonfiguration, des Auflistens von Übertragungskonfigurationen und des Aufrufs des Ausführungsverlaufs der Übertragung finden Sie unter Mit Übertragungen arbeiten.
- Daten mit cloudübergreifenden Vorgängen laden