Allgemeine Informationen zum Openflow Connector for Salesforce Bulk API

Unter diesem Thema werden die grundlegenden Konzepte von Openflow Connector for Salesforce Bulk API, der Workflow und die Beschränkungen beschrieben.

Nullkopie-Integration mit Salesforce Data Cloud

Snowflake bietet die bidirektionale Nullkopie-Freigabe und Integration mit Salesforce. Diese Integration wird empfohlen, wenn Sie Salesforce Data Cloud verwenden und eine transiente Integration nahezu in Echtzeit benötigen.

Weitere Informationen zur Nullkopie-Integration mit Salesforce Data Cloud finden Sie in den folgenden Blogeinträgen:

Allgemeine Informationen zum Openflow Connector for Salesforce Bulk API

Die Openflow Connector for Salesforce Bulk API bietet eine replikationsbasierte Datenintegration. Dieser Konnektor wurde für Benutzer entwickelt, die keine Salesforce Data Cloud verwenden und einen vollständig verwalteten Snowflake Openflow-Konnektor bevorzugen. Der Konnektor verwendet die öffentlichen Salesforce REST-APIs, um Daten von Salesforce in Snowflake in einer benutzerdefinierten Häufigkeit zu replizieren. Der Konnektor unterstützt Change Data Capture (CDC) und hält die Daten in Snowflake mit Salesforce synchronisiert.

Je nach Ihren speziellen Anwendungsfällen können Sie einen oder beide Typen von Datenintegrationen verwenden. Unter diesem Thema wird beschrieben, wie Sie die Openflow Connector for Salesforce Bulk API zum Replizieren von Daten von Salesforce in Snowflake einrichten und verwenden.

Anwendungsfälle

Verwenden Sie die Openflow Connector for Salesforce Bulk API, um Standard- oder benutzerdefinierte Objekte von Salesforce in Snowflake in einer vom Benutzenden festgelegten Häufigkeit zu replizieren und sie in Snowflake auf dem neuesten Stand zu halten.

Workflow

Der folgende Workflow beschreibt die Schritte zur Einrichtung und Verwendung der Openflow Connector for Salesforce Bulk API.

  1. Ein Salesforce-Administrator erstellt und konfiguriert eine externe Client-App in Salesforce und genehmigt sie für einen bestimmten Benutzer.

  2. Der Openflow-Administrator führt die folgenden Aufgaben aus:

    1. Erstellen Sie einen Dienstbenutzer für den Konnektor, ein Warehouse für den Konnektor sowie eine Zieldatenbank und ein Schema für die Replikation.

    2. Installieren des Konnektors.

    3. Geben Sie die erforderlichen Parameter für die Ablaufvorlage an.

  3. Der Data Engineer führt den Flow aus, um Objekte von Salesforce in Snowflake zu replizieren.

Einschränkungen

Beachten Sie die folgenden Einschränkungen bei der Verwendung des Konnektors:

  • Kundenspezifische Salesforce-Domains werden nicht unterstützt.

  • Das Durchlaufen von Objektbeziehungen und das Abrufen der zugehörigen Objekte wird nicht unterstützt.

  • Der Konnektor unterstützt keine dauerhaften Löschungen in Snowflake. Sie können entweder eine Abfrage auf der Zieltabelle ausführen, um alle Zeilen zu löschen, in denen die Spalte isDeleted den Wert true aufweist, oder Sie führen eine vollständige Aktualisierung der Zieltabelle aus, um endgültige Löschungen widerzuspiegeln.

  • Felder vom Typ location, address oder base64 werden nicht unterstützt und werden ignoriert.

  • Sie können Daten aus mehreren Salesforce-Instanzen nicht in einer einzigen Datenbank in Snowflake konsolidieren. Daten von einer einzelnen Salesforce-Instanz oder -Organisation werden in einer einzigen Datenbank in Snowflake erfasst. Für jedes replizierte Salesforce-Objekt wird in dieser Datenbank eine Tabelle erstellt.

  • Dateien, die an Salesforce-Datensätze angehängt sind, werden ignoriert.

  • Formelfelder können nicht inkrementell erfasst werden.

Authentifizierung

Der Konnektor verwendet die JWT-Authentifizierungsmethode über eine externe Client-App, um eine Verbindung zu Salesforce herzustellen und Daten abzurufen. Die Dokumentation zum Konfigurieren der Client-App in Salesforce finden Sie unter Openflow Connector for Salesforce Bulk API: Einrichten von Salesforce.

Lebenszyklus der Replikation

Der Konnektor repliziert die Daten in zwei Phasen: erstmalige Replikation und inkrementelle Replikation.

Erstmalige Replikation

Der Konnektor ruft die Salesforce Bulk-API 2.0 auf, um Standard- und benutzerdefinierte Objekte zu ermitteln, die in der Konnektorkonfiguration angegeben sind. Der Konnektor berücksichtigt Bulk-API 2.0 API-Grenzwerte.

  • Der Konnektor erstellt eine Tabelle pro kundenspezifischem oder Standardobjekt mit einer Spalte für jedes Feld.

  • Der Konnektor verwendet Snowpipe Streaming für das erstmalige Laden, um Zeilen in der Tabelle auf der Grundlage der Werte der Felder aus dem Salesforce-Objekt einzufügen.

Inkrementelle Replikation

Inkrementelle Aktualisierungen verwenden ein Snowflake-Warehouse, das in den Parametern des Konnektors konfiguriert werden kann. Abhängig von Ihren Anforderungen an Latenz und Datenaktualität können Sie die Aktualisierungshäufigkeit von 1 Minuten bis 24 Stunden konfigurieren; damit wird festgelegt, wie oft die Tabellen in Snowflake aktualisiert werden.

Der Konnektor ruft mit der von Ihnen festgelegten Aktualisierungshäufigkeit die Salesforce Bulk-API auf, um Änderungen an zuvor aufgenommenen Objekten zu erkennen. Der Konnektor identifiziert geänderte Datensätze, indem er bestimmte Zeitstempelfelder in den Salesforce-Objekten überprüft.

Für die meisten Objekte verwendet der Konnektor das Feld SystemModstamp. Wenn SystemModstamp nicht verfügbar ist, versucht der Konnektor, die folgenden Felder in der folgenden Reihenfolge zu verwenden:

  1. LastModifiedDate

  2. CreatedDate

  3. LoginTime

Bemerkung

Für Verlaufstabellen (Objekte, bei denen die Verlaufsverfolgung aktiviert ist) verwendet der Konnektor immer das Feld CreatedDate, um Änderungen zu erkennen.

Anschließend verwendet der Konnektor Snowpipe Streaming, um die inkrementellen Daten in eine Stagingtabelle zu übertragen, und führt eine Abfrage aus, um die Daten in die endgültige Zieltabelle zu laden.

Schemaentwicklung

Der Konnektor unterstützt die Schemaentwicklung, wenn sich die Quellobjekte in Salesforce ändern.

Wenn dem Quellobjekt ein neues Feld hinzugefügt wird:

Der Konnektor fügt der Zieltabelle in Snowflake eine neue Spalte hinzu.

Wenn ein vorhandenes Feld im Quellobjekt umbenannt wird:

Der Konnektor behandelt die Umbenennung sowohl als Löschung als auch als Hinzufügen eines Feldes. Das Hinzufügen eines Feldes bewirkt, dass der Zieltabelle eine neue Spalte hinzugefügt wird. Das Löschen des Feldes wird wie im Folgenden beschrieben verarbeitet.

Wenn ein vorhandenes Feld im Quellobjekt gelöscht wird:

Der Konnektor unterstützt drei Strategien:

  • Delete: Löscht die entsprechende Spalte aus der Zieltabelle in Snowflake. Dies ist das Standardverhalten.

  • Ignore: Ignoriert das gelöschte Feld in der Quelle und überspringt es in Zukunft.

  • Rename: Benennt das gelöschte Feld in der Zieltabelle um.

Wenn die Löschstrategie beispielsweise auf Ignore festgelegt ist und ein Feld für ein Salesforce-Objekt umbenannt wird, bleibt die vorhandene Spalte in Snowflake unverändert und eine neue Spalte mit dem neuen Feldnamen wird hinzugefügt.

Wie Objekte gelöscht werden

Wenn Objekte in Salesforce gelöscht werden, löscht der Konnektor sie nicht endgültig in Snowflake. Der Konnektor führt „vorläufige Löschungen“ für Objekte durch, die in Salesforce gelöscht wurden, und zeigt an, dass die Quellobjekte durch Festlegung der Spalte isDeleted auf true in den entsprechenden Snowflake-Tabellen gelöscht wurden.

Der Konnektor unterstützt keine „harten Löschungen“. Sie können entweder eine Abfrage auf der Zieltabelle ausführen, um alle Zeilen zu löschen, in denen die Spalte isDeleted den Wert true aufweist, oder Sie führen eine vollständige Aktualisierung der Zieltabelle aus, um endgültige Löschungen widerzuspiegeln.

Es kann vorkommen, dass der Konnektor Löschvorgänge verpasst, wenn Objekte in Salesforce gelöscht und aus dem Papierkorb von Salesforce entfernt werden, während der Konnektor nicht ausgeführt wurde, z. B. wenn der Konnektor pausiert oder gestoppt wurde. Sie müssen eine vollständige Aktualisierung der Zieltabelle ausführen, um in diesen Situationen eine Wiederherstellung durchzuführen.

Automatische Wiederholungsbehandlung

Der Konnektor versucht automatisch, fehlgeschlagene Operationen oder API-Fehler mithilfe einer exponentiellen Backoff-Strategie erneut auszuführen. Der Konnektor wartet eine Sekunde vor dem ersten Wiederholungsversuch und verdoppelt dann die Wartezeit für jeden weiteren Wiederholungsversuch (zwei Sekunden, vier Sekunden usw.). Wenn die Fehler weiterhin bestehen, wird der Versuch bis zur nächsten geplanten Ausführung des Konnektors eingestellt. Sie können diese Aktivität in der Ereignistabelle überwachen.

Verwenden Sie mehrere Instanzen von Konnektoren, um unterschiedliche Zeitpläne für die Synchronisierung zu verwalten

Wenn Sie verschiedene Objekte in unterschiedlichen Abständen synchronisieren müssen, z. B. einige alle 30 Minuten und andere alle 24 Stunden, empfiehlt Snowflake die Bereitstellung von zwei separaten Konnektor-Instanzen innerhalb derselben Laufzeitumgebung. Sie können die Sync-Parameter dann für jede Instanz unabhängig konfigurieren.

Bemerkung

Die Bereitstellung mehrerer Konnektor-Instanzen innerhalb einer Laufzeitumgebung verursacht keine zusätzlichen Kosten.

Wenn Sie einige Objekte bei jeder Ausführung des Konnektors vollständig abrufen müssen, um z. B. Einschränkungen mit Formeln zu umgehen, empfiehlt Snowflake die Bereitstellung von zwei separaten Instanzen des Konnektors innerhalb derselben Laufzeitumgebung und die Konfiguration der Parameter für jede Instanz.

Nächste Schritte

Weitere Informationen zum Einrichten des Konnektors finden Sie unter folgenden Themen: