Auf dieser Seite wird beschrieben, wie Sie Daten aus Salesforce-sObjects mit Cloud Data Fusion 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 SOQL-Abfragen (Salesforce Object Query Language) und inkrementellen oder Bereichsdatumsfiltern.
Hinweise
- Für die Salesforce-Batchquelle von Cloud Data Fusion wird die Salesforce Bulk API V1 verwendet.
- Salesforce einrichten, bevor Sie das Cloud Data Fusion-Plug-in für Salesforce bereitstellen und verwenden. Weitere Informationen finden Sie unter Verbundene Salesforce-App für Cloud Data Fusion erstellen.
Plug-in konfigurieren
- Rufen Sie die Cloud Data Fusion-Web-UI auf und klicken Sie auf Studio.
- Prüfen Sie, ob Datenpipeline – Batch (nicht Echtzeit) ausgewählt ist.
- 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, stellen Sie die Salesforce-Plug-ins über den Cloud Data Fusion Hub bereit.
- Wenn Sie die Quelle konfigurieren möchten, rufen Sie den Salesforce-Knoten auf und klicken Sie auf Attribute.
Geben Sie die folgenden Eigenschaften 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 den Datenursprung ein, z. B.
Salesforce tables
. Geben Sie die Verbindungsdetails ein. Sie können eine neue Einmalverbindung oder eine vorhandene, wiederverwendbare Verbindung einrichten.
Neue Verbindung
So fügen Sie eine einmalige Verbindung zu Salesforce hinzu:
- Lassen Sie Verbindung verwenden deaktiviert.
Geben Sie im Bereich Verbindung die folgenden Informationen aus dem Salesforce-Konto in diese Felder ein:
- Nutzername
- Passwort
- Sicherheitstoken
- Consumer-Key
- Consumer-Secret
Informationen zum Abrufen der Anmeldedaten aus Salesforce finden Sie unter Attribute 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 besteht 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 Datensätze berücksichtigt, die nach einem bestimmten Zeitpunkt zuletzt geändert wurden.
- Zuletzt geändert vor: Nur Datensätze einschließen, die vor einem bestimmten Zeitpunkt zuletzt geändert wurden.
- Zeitraum: Nur Datensätze einschließen, die innerhalb eines Zeitraums der angegebenen Größe zuletzt geändert wurden.
- Offset: Es werden nur Datensätze berücksichtigt, deren Datum der letzten Änderung vor dem logischen Startzeitpunkt der Pipeline abzüglich des angegebenen Offsets liegt.
Optional: Aktivieren Sie für unterstützte sObjects Enable PK chunking (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 (technisch gesehen ein sObject) ab.
- Geben Sie ein Label für den Salesforce-Knoten ein, z. B.
Eigenschaften
Attribut | Makro aktiviert | Erforderliche Property | Beschreibung |
---|---|---|---|
Referenzname | Nein | Ja | Wird verwendet, um diese Quelle für Aufgaben wie die Datenverlaufskontrolle und das Annotieren von Metadaten eindeutig zu identifizieren. |
Verbindung verwenden | Nein | Nein | Vorhandene Verbindung verwenden 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 die Cloud Data Fusion-App das Token vor der Authentifizierung bei Salesforce an. |
Consumer-Key | Ja | Ja | Consumer-Key der Anwendung. Sie wird auch als OAuth-Client-ID bezeichnet. Um einen Consumer-Key zu erhalten, erstellen Sie eine verbundene Salesforce-Anwendung. |
Consumer-Secret | Ja | Ja | Consumer-Secret der Anwendung. Dies wird auch als OAuth-Clientschlüssel bezeichnet. Um ein Clientschlüssel zu erhalten, 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 für die Initialisierung der Verbindung, bevor das Zeitlimit überschritten wird. Der Standardwert ist 30.000 Millisekunden. |
Proxy-URL | Ja | Nein | Proxy-URL mit Protokoll, Adresse und Port. |
SOQL | Ja | Nein | Eine SOQL-Abfrage zum Abrufen von Daten in die Quelle. Beispiele:
|
Name des Salesforce-Objekts | Ja | Nein | Name des Salesforce-Objekts, das gelesen werden soll. Wenn ein Wert angegeben wird, ruft der Connector alle Felder für dieses Objekt aus Salesforce ab und generiert eine SOQL-Abfrage, z. B. 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 nicht von Einstein Analytics unterstützt, da dort die Bulk API zum Abfragen von Daten verwendet wird.Fälle, in denen die BULK API nicht verwendet wird:Wenn die Abfragelänge die Abfrage an Salesforce sendet, um das Array mit Batchinformationen zu empfangen, wird die Bulk API in einem Fall nicht verwendet. Wenn die Abfrage innerhalb des Limits liegt, wird die ursprüngliche Abfrage ausgeführt. Andernfalls wird auf die Logik für breite Objekte umgestellt. So wird beispielsweise eine ID-Abfrage generiert, mit der 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 Daten so, dass nur Datensätze berücksichtigt werden, in denen das Systemfeld LastModifiedDate größer oder gleich dem angegebenen Datum ist. Verwenden Sie das Salesforce-Datumsformat (Beispiele). Wenn kein Wert angegeben ist, wird kein Mindestdatum angewendet. |
Zuletzt geändert vor dem | Ja | Nein | Filtern Sie Daten so, dass nur Datensätze berücksichtigt werden, in denen das Systemfeld LastModifiedDate vor dem angegebenen Datum liegt. Verwenden Sie das Salesforce-Datumsformat (siehe Beispiele). Wenn Sie diesen Wert mit der Eigenschaft 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 oberes Grenzdatum angewendet. |
Dauer | Ja | Nein | Daten filtern, um nur Datensätze zu lesen, die innerhalb eines Zeitfensters 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 bereits ein Wert für Zuletzt geändert nach oder Zuletzt geändert vor angegeben ist, wird der Zeitraum ignoriert. |
Offset | Ja | Nein | Filtern Sie Daten, um nur Datensätze zu lesen, in denen das Systemfeld LastModifiedDate kleiner als die logische Startzeit der Pipeline minus dem angegebenen Offset ist. Wenn die Dauer beispielsweise 6 hours und der Offset 1 hours ist und die Pipeline um 9:00 Uhr ausgeführt wird, werden Daten gelesen, die zuletzt zwischen 2:00 Uhr (einschließlich) und 8:00 Uhr (ausschließlich) geändert wurden.Geben Sie die Dauer mit Zahlen und den folgenden Zeiteinheiten an:
2 days, 1 hours, 30 minutes . Wenn bereits ein Wert für Zuletzt geändert nach oder Zuletzt geändert vor angegeben ist, wird der Offset ignoriert. |
SOQL-Vorgangstyp | Nein | Nein | Geben Sie den Abfragevorgang an, der für die 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 Datensätze zurückgegeben.Der Standardvorgang ist query . |
PK-Chunking aktivieren | Ja | Nein | Beim Chunking nach Primärschlüssel (PK) wird eine Abfrage für große Tabellen anhand der Datensatz-IDs oder Primärschlüssel der abgefragten Datensätze in Teile oder Chunks aufgeteilt. Salesforce empfiehlt, die PK-Chunking-Funktion zu aktivieren, wenn Sie Tabellen mit mehr als 10 Millionen Datensätzen abfragen oder wenn eine Bulk-Abfrage ständig das Zeitlimit überschreitet. Weitere Informationen finden Sie unter PK-Chunking. Die PK-Chunking-Funktion funktioniert nur bei Abfragen, die keine SELECT -Klauseln oder andere Bedingungen als WHERE enthalten.
Die Aufteilung in Chunks wird für benutzerdefinierte Objekte und alle Tabellen für Freigabe und Verlauf 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 gemeinsam genutzte 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 finden Sie eine Liste der Salesforce-Datentypen mit den entsprechenden CDAP-Typen.
Salesforce-Datentyp | CDAP-Schemadatentyp |
---|---|
_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:
Voraussetzungen für das Upgrade auf das Salesforce-Plug-in Version 1.7.0
Das Salesforce-Plug-in Version 1.7.0 ist in Cloud Data Fusion ab Version 6.8.0 verfügbar. Diese Version enthält das Upgrade der Salesforce Bulk API V1 von Version 62.0 auf Version 64.0.
Salesforce hat bestimmte Felder in der API-Version 64.0 eingestellt. Wenn Sie auf die Salesforce-Plug-in-Version 1.7.0 aktualisieren, schlagen Pipelines, in denen diese Felder verwendet werden, möglicherweise fehl. Damit Ihre Pipelines weiterhin funktionieren, müssen Sie Ihr Pipelineschema manuell aktualisieren, indem Sie entweder ein neues Schema laden oder die verworfenen Felder entfernen.
Verworfene Felder in Salesforce API-Version 64.0
Salesforce hat die folgenden Felder in der API-Version 64.0 eingestellt:
Objektname | Feldnamen |
---|---|
MobSecurityCertPinConfig | EffectiveDate |
Profil | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
PermissionSet | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
PermissionSetLicense | MaximumPermissionsAllowObjectDetectionTraining MaximumPermissionsAllowObjectDetection |
UserPermissionAccess | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
MutingPermissionSet | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
Domain | OptionsHstsHeaders |
Nutzer | UserPreferencesHideInvoicesRedirectConfirmation UserPreferencesHideStatementsRedirectConfirmation |
UserChangeEvent | UserPreferencesHideInvoicesRedirectConfirmation UserPreferencesHideStatementsRedirectConfirmation |
Pipeline-Schema aktualisieren
Wenn in Ihrer Pipeline eingestellte Felder verwendet werden, müssen Sie das Pipelineschema aktualisieren. Laden Sie dazu entweder ein neues Schema oder entfernen Sie die eingestellten Felder:
Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Liste.
Klicken Sie auf den Tab Bereitgestellt, um die bereitgestellten Pipelines aufzurufen.
Klicken Sie bei der Pipeline, die Sie aktualisieren möchten, auf > Bearbeiten.
Bewegen Sie in der Studio-Ansicht den Mauszeiger auf das Salesforce-Quell-Plug-in und klicken Sie auf Properties (Attribute).
Das Konfigurationsfenster für das Salesforce-Plug-in wird geöffnet.
So laden Sie ein neues Schema:
Klicken Sie auf dem Tab Ausgabeschema auf > Löschen und dann auf Validieren. Dadurch wird das aktuelle Schema aus Salesforce geladen.
Klicken Sie nach dem Laden des Schemas auf dem Tab Ausgabeschema auf > Propagate (Übertragen).
Dadurch wird das Schema für alle nachfolgenden Plug-ins in der Pipeline automatisch aktualisiert. Das kann dazu führen, dass manuelle Schemaänderungen in Plug-ins wie Wrangler überschrieben werden.
So entfernen Sie die eingestellten Felder manuell:
- Klicken Sie auf dem Tab Ausgabeschema für jedes der eingestellten Felder auf . Dadurch werden die Felder aus allen nachfolgenden Phasen entfernt.
Best Practices
Weitere Informationen zur Leistungssteigerung in der Salesforce-Batchquelle finden Sie unter Best Practices.
Versionshinweise
Nächste Schritte
- Anleitung für das Salesforce-Plug-in durcharbeiten