Auf dieser Seite wird beschrieben, wie Sie mit Cloud Data Fusion Daten aus Salesforce-Objekten in Google Cloudladen. Das Salesforce-Batch-Quell-Plug-in liest sObjects aus Salesforce. Die sObjects sind die Salesforce-Tabellen, aus denen Sie Daten abrufen möchten. Beispiele für sObjects sind Empfehlungen, Kontakte, Konten, Leads und benutzerdefinierte Objekte.
Das Salesforce-Batch-Quell-Plug-in unterstützt das Lesen von Daten mit Salesforce Object Query Language (SOQL)-Abfragen und inkrementellen oder Intervall-Datumsfiltern.
Hinweis
- Die Salesforce-Batchquelle in Cloud Data Fusion verwendet die Salesforce Bulk API V1.
- Richten Sie Salesforce ein, bevor Sie das Cloud Data Fusion-Salesforce-Plug-in bereitstellen und verwenden. Weitere Informationen finden Sie unter Salesforce-verbundene App für Cloud Data Fusion erstellen.
Plug-in konfigurieren
- Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Studio.
- Achten Sie darauf, dass Datenpipeline – Batch ausgewählt ist (nicht Echtzeit).
- Klicken Sie im Menü Quelle auf Salesforce. Der Salesforce-Knoten wird in Ihrer Pipeline angezeigt. Wenn die Salesforce-Quelle auf der Seite Studio nicht angezeigt wird, deployen Sie die Salesforce-Plug-ins aus dem Cloud Data Fusion Hub.
- Wenn Sie die Quelle konfigurieren möchten, klicken Sie auf den Salesforce-Knoten und dann auf Attribute.
Geben Sie die folgenden Properties ein. Eine vollständige Liste finden Sie unter Properties.
- Geben Sie ein Label für den Salesforce-Knoten ein, z. B.
Salesforce tables
. - Geben Sie einen Referenznamen für die Salesforce-Quelle für die Abfolge ein, z. B.
Salesforce tables
. Geben Sie die Verbindungsdetails ein. Sie können eine neue einmalige Verbindung oder eine vorhandene wiederverwendbare Verbindung einrichten.
Neue Verbindung
So fügen Sie eine einmalige Verbindung zu Salesforce hinzu:
- Lassen Sie die Option Verbindung verwenden deaktiviert.
Geben Sie im Abschnitt Verbindung die folgenden Informationen aus dem Salesforce-Konto in die entsprechenden Felder ein:
- Nutzername
- Passwort
- Sicherheitstoken
- Consumer-Key
- Consumer-Secret
Informationen zum Abrufen der Anmeldedaten aus Salesforce finden Sie unter Properties aus Salesforce abrufen.
Wiederverwendbare Verbindung
So verwenden Sie eine vorhandene Verbindung wieder:
- Aktivieren Sie Verbindung verwenden.
- Klicken Sie auf Verbindungen durchsuchen.
Klicken Sie auf den Namen der Verbindung.
Optional: Wenn keine Verbindung vorhanden ist und Sie eine neue wiederverwendbare Verbindung erstellen möchten, klicken Sie auf Verbindung hinzufügen und folgen Sie der Anleitung auf dem Tab Neue Verbindung.
Geben Sie den SObject-Namen ein, um alle Spalten aus dem Objekt zu laden.
Optional: Wenn Sie den sObject-Namen auswählen, können Sie die Daten mit den folgenden Feldern filtern:
- Zuletzt geändert nach: Es werden nur Einträge berücksichtigt, die nach einem bestimmten Zeitpunkt zuletzt geändert wurden.
- Last modified before (Zuletzt geändert vor): Es werden nur Einträge berücksichtigt, die vor einem bestimmten Zeitpunkt zuletzt geändert wurden.
- Dauer: Es werden nur Einträge berücksichtigt, die innerhalb eines Zeitfensters der angegebenen Größe zuletzt geändert wurden.
- Offset: Es werden nur Datensätze berücksichtigt, bei denen das Datum der letzten Änderung vor dem logischen Startzeitpunkt der Pipeline abzüglich des angegebenen Offset liegt.
Optional: Aktivieren Sie für unterstützte SObjects die Option PK-Chunking aktivieren, um die Leistung einer Pipeline zu verbessern. Weitere Informationen finden Sie unter Leistung mit PK-Chunking verbessern.
Optional: Anstatt den sObject-Namen anzugeben, können Sie eine SOQL-Abfrage eingeben, z. B.
SELECT LastName from Contact
. Weitere Informationen finden Sie unter SOQL-Abfragen für die Salesforce-Quelle.Klicken Sie auf Schema abrufen, um die Verbindung zu testen. Cloud Data Fusion stellt eine Verbindung zu Salesforce her und ruft das Schema für die aufgeführte Tabelle ab (technisch ein sObject).
- Geben Sie ein Label für den Salesforce-Knoten ein, z. B.
Attribute
Attribut | Makro aktiviert | Erforderliche Property | Beschreibung |
---|---|---|---|
Referenzname | Nein | Ja | Hiermit wird diese Quelle eindeutig für Aufgaben wie die Datenverlaufskontrolle und das Annotieren von Metadaten identifiziert. |
Verbindung verwenden | Nein | Nein | Verwenden Sie eine vorhandene Verbindung. Wenn eine Verbindung verwendet wird, müssen Sie die Anmeldedaten nicht angeben. |
Verbindungen ansehen | Ja | Nein | Name der zu verwendenden Verbindung. |
Nutzername | Ja | Ja | Salesforce-Nutzername. |
Passwort | Ja | Ja | Salesforce-Passwort |
Sicherheitstoken | Ja | Nein | Salesforce-Sicherheitstoken Wenn das Passwort das Sicherheitstoken nicht enthält, fügt Cloud Data Fusion das Token vor der Authentifizierung bei Salesforce an. |
Consumer-Key | Ja | Ja | Consumer-Key der Anwendung. Diese wird auch als OAuth-Client-ID bezeichnet. Wenn Sie einen Consumer-Key benötigen, erstellen Sie eine verbundene Salesforce-Anwendung. |
Consumer-Secret | Ja | Ja | Consumer Secret der Anwendung. Dieser wird auch als OAuth-Client-Secret bezeichnet. Wenn Sie ein Client-Secret benötigen, erstellen Sie eine verbundene Salesforce-Anwendung. |
Anmelde-URL | Ja | Ja | Salesforce OAuth2-Anmelde-URL. Der Standardwert ist https://login.salesforce.com/services/oauth2/token . |
Zeitüberschreitung der Verbindung | Ja | Nein | Maximale Wartezeit in Millisekunden, die auf die Verbindungsinitialisierung gewartet wird, bevor das Zeitlimit abläuft. Die Standardeinstellung ist 30.000 Millisekunden. |
Proxy-URL | Ja | Nein | Proxy-URL, die ein Protokoll, eine Adresse und einen Port enthält. |
SOQL | Ja | Nein | Eine SOQL-Abfrage zum Abrufen von Daten in die Quelle. Beispiele:
|
Name des Salesforce-Objekts | Ja | Nein | Name des zu lesenden Salesforce-Objekts. Wenn ein Wert angegeben ist, ruft der Connector alle Felder für dieses Objekt aus Salesforce ab und generiert eine SOQL-Abfrage wie select FIELD_1, FIELD_2 from
${sObjectName} . Wird ignoriert, wenn eine SOQL-Abfrage angegeben wird.Es gibt auch sObjects, die in der Salesforce Bulk API nicht unterstützt werden. Wenn Sie einen Job mit einem nicht unterstützten Objekt erstellen, wird der folgende Fehler ausgegeben: Entity is not supported by the Bulk
API . Diese Objekte werden auch von Einstein Analytics nicht unterstützt, das für die Abfrage von Daten die Bulk API verwendet.Fälle, in denen die BULK API nicht verwendet wird:Wenn die Abfragelänge die Abfrage an Salesforce sendet, um das Array der Batch-Informationen zu erhalten, wird die Bulk API in einem Fall nicht verwendet. Wenn die Abfrage das Limit nicht überschreitet, wird die ursprüngliche Abfrage ausgeführt. Andernfalls wird zur Logik für breite Objekte gewechselt. Beispielsweise wird eine ID-Abfrage generiert, über die nur Batchinformationen für IDs abgerufen werden, die später zum Abrufen von Daten über die SOAP API verwendet werden. |
Zuletzt geändert nach dem | Ja | Nein | Filtern Sie die Daten so, dass nur Einträge enthalten sind, bei denen das Systemfeld LastModifiedDate größer oder gleich dem angegebenen Datum ist. Verwenden Sie das Salesforce-Datumsformat (siehe Beispiele). Wenn kein Wert angegeben ist, wird kein unterer Grenzwert angewendet. |
Zuletzt geändert vor dem | Ja | Nein | Filtern Sie die Daten so, dass nur Einträge enthalten sind, bei denen das Systemfeld LastModifiedDate vor dem angegebenen Datum liegt. Verwenden Sie das Salesforce-Datumsformat (Beispiele). Wenn Sie diesen Wert mit der Property Last modified after (Zuletzt geändert nach) angeben, können Sie Daten lesen, die innerhalb eines bestimmten Zeitraums geändert wurden. Wenn kein Wert angegeben ist, wird kein Obergrenze-Datum angewendet. |
Dauer | Ja | Nein | Daten filtern, sodass nur Datensätze gelesen werden, die innerhalb eines Zeitraums der angegebenen Größe zuletzt geändert wurden. Wenn die Dauer beispielsweise 6 hours ist und die Pipeline um 9:00 Uhr ausgeführt wird, werden Daten gelesen, die zuletzt zwischen 3:00 Uhr (einschließlich) und 9:00 Uhr (ausschließlich) aktualisiert wurden.
Geben Sie die Dauer mit Zahlen und den folgenden Zeiteinheiten an:
2 days, 1 hours, 30 minutes . Wenn für Letzte Änderung nach oder Letzte Änderung vor bereits ein Wert angegeben ist, wird die Dauer ignoriert. |
Offset | Ja | Nein | Daten so filtern, dass nur Einträge gelesen werden, bei denen das Systemfeld LastModifiedDate kleiner als der logische Startzeitpunkt der Pipeline abzüglich des angegebenen Offset ist. Wenn die Dauer beispielsweise 6 hours , der Offset 1 hours und die Pipeline um 9:00 Uhr ausgeführt wird, werden Daten gelesen, die zwischen 2:00 Uhr (einschließlich) und 8:00 Uhr (ausschließlich) zuletzt geändert wurden.Geben Sie die Dauer mithilfe von Zahlen und den folgenden Zeiteinheiten an:
2 days, 1 hours, 30 minutes . Wenn für Letzte Änderung nach oder Letzte Änderung vor bereits ein Wert angegeben ist, wird der Offset ignoriert. |
SOQL-Vorgangstyp | Nein | Nein | Geben Sie den Abfragevorgang an, der auf der Tabelle ausgeführt werden soll. Wenn eine Abfrage ausgewählt ist, werden nur aktuelle Datensätze zurückgegeben. Wenn Sie queryAll auswählen, werden alle aktuellen und gelöschten Einträge zurückgegeben.Die Standardaktion ist query . |
PK-Chunking aktivieren | Ja | Nein | Beim Aufteilen nach Primärschlüssel (PK-Chunking) wird eine Abfrage auf große Tabellen anhand der Datensatz-IDs oder Primärschlüssel der abgefragten Datensätze in Teile oder Chunks aufgeteilt. Salesforce empfiehlt, das PK-Chunking zu aktivieren, wenn Tabellen mit mehr als 10 Millionen Einträgen abgefragt werden oder wenn bei einer Bulk-Abfrage ständig ein Zeitüberschreitungsfehler auftritt. Weitere Informationen finden Sie unter PK-Chunking. Das Aufteilen von Primärschlüsseln funktioniert nur mit Abfragen, die keine SELECT -Klauseln oder andere Bedingungen als WHERE enthalten.
Das Chunking wird für benutzerdefinierte Objekte und alle Freigabe- und Verlaufstabellen unterstützt, die Standardobjekte unterstützen. |
Blockgröße | Ja | Nein | Geben Sie die Größe des Chunks an. Die maximale Größe beträgt 250.000. Die Standardgröße ist 100.000. |
Name des übergeordneten Salesforce-Objekts | Ja | Nein | Übergeordnetes Element des Salesforce-Objekts. Damit wird das Chunking für Verlaufstabellen oder freigegebene Objekte aktiviert. |
Beispiele für Salesforce-Datumsformate
Format syntax | Beispiel |
---|---|
YYYY-MM-DDThh:mm:ss+hh:mm |
1999-01-01T23:01:01+01:00 |
YYYY-MM-DDThh:mm:ss-hh:mm |
1999-01-01T23:01:01-08:00 |
YYYY-MM-DDThh:mm:ssZ |
1999-01-01T23:01:01Z |
Datentypzuordnungen
In der folgenden Tabelle sind Salesforce-Datentypen mit den entsprechenden CDAP-Typen aufgeführt.
Salesforce-Datentyp | CDAP-Schema-Datentyp |
---|---|
_bool |
boolean |
_int |
int |
_long |
long |
_double , currency , percent ,
geolocation (Breitengrad), geolocation
(Längengrad) |
double |
date |
date |
datetime |
timestamp (Mikrosekunden) |
time |
time (Mikrosekunden) |
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 |
json |
string |
complexvalue |
string |
Anwendungsfälle
Hier sind einige Anwendungsfälle für die Salesforce-Batchquelle:
Best Practices
Weitere Informationen zur Leistungssteigerung bei der Salesforce-Batchquelle finden Sie in den Best Practices.