Salesforce-Batchquelle

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

  1. Rufen Sie die Cloud Data Fusion-Web-UI auf und klicken Sie auf Studio.
  2. Prüfen Sie, ob Datenpipeline – Batch (nicht Echtzeit) ausgewählt ist.
  3. 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.
  4. Wenn Sie die Quelle konfigurieren möchten, rufen Sie den Salesforce-Knoten auf und klicken Sie auf Attribute.
  5. Geben Sie die folgenden Eigenschaften ein. Eine vollständige Liste finden Sie unter Properties.

    1. Geben Sie ein Label für den Salesforce-Knoten ein, z. B. Salesforce tables.
    2. Geben Sie einen Referenznamen für die Salesforce-Quelle für den Datenursprung ein, z. B. Salesforce tables.
    3. 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:

      1. Lassen Sie Verbindung verwenden deaktiviert.
      2. 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:

      1. Aktivieren Sie Verbindung verwenden.
      2. Klicken Sie auf Verbindungen durchsuchen.
      3. Klicken Sie auf den Namen der Verbindung.

      4. 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.

    4. Geben Sie den SObject-Namen ein, um alle Spalten aus dem Objekt zu laden.

    5. 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.
    6. 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.

    7. 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.

    8. 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.

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:
  • SELECT Id, Name, BillingCity FROM Account
  • SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingCity = 'California'
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:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
Es können mehrere Einheiten angegeben werden, aber jede Einheit kann nur einmal verwendet werden. Beispiel: 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:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
Es können mehrere Einheiten angegeben werden, aber jede Einheit kann nur einmal verwendet werden. Beispiel: 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:

  1. Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Liste.

  2. Klicken Sie auf den Tab Bereitgestellt, um die bereitgestellten Pipelines aufzurufen.

  3. Klicken Sie bei der Pipeline, die Sie aktualisieren möchten, auf  > Bearbeiten.

  4. 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.

  5. So laden Sie ein neues Schema:

    1. Klicken Sie auf dem Tab Ausgabeschema auf  > Löschen und dann auf Validieren. Dadurch wird das aktuelle Schema aus Salesforce geladen.

    2. 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.

  6. So entfernen Sie die eingestellten Felder manuell:

    1. 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.

Nächste Schritte