Openflow Connector for Salesforce Bulk API: Konnektor konfigurieren

Unter diesem Thema werden die Schritte zur Konfiguration des Openflow Connector for Salesforce Bulk API beschrieben.

Konnektor installieren

Führen Sie die folgenden Schritte aus, um den Openflow Connector for Salesforce Bulk API in einer Openflow-Laufzeitumgebung zu installieren:

  1. Navigieren Sie zur Openflow-Seite Overview. Wählen Sie im Abschnitt Featured connectors die Option View more connectors aus.

  2. Suchen Sie auf der Seite für Openflow-Konnektoren Openflow connector for Salesforce Bulk API und wählen Sie Add to runtime aus.

  3. Wählen Sie im Dialogfeld Select runtime Ihre Laufzeitumgebung aus der Dropdown-Liste Available runtimes aus.

Das Openflow-Canvas wird mit der hinzugefügten Prozessgruppe des Konnektors angezeigt.

Konnektor konfigurieren

Um den Konnektor zu konfigurieren, führen Sie die folgenden Schritte aus:

  1. Klicken Sie mit der rechten Maustaste auf die importierte Prozessgruppe und wählen Sie Parameters.

  2. Füllen Sie die erforderlichen Parameterwerte aus, wie in der Tabelle unten beschrieben.

Parameter

Beschreibung

Strategie zur Entfernung von Spalten

Definiert die Strategie, die angewendet werden soll, wenn eine Spalte in der Zieltabelle auf der Grundlage des letzten empfangenen Schemas entfernt werden soll. Drei mögliche Werte: Drop Column, Rename Column, Ignore Column.

  • Drop Column: Löschen Sie die Spalte aus der Snowflake-Tabelle.

  • Rename Column: Benennen Sie die Spalte in der Snowflake-Tabelle um.

  • Ignore Column: Ignorieren Sie die Spalte und lassen Sie sie so, wie sie in der Snowflake-Tabelle ist.

Connected App Key

Kopieren Sie den Inhalt der Datei private.key-Datei, die während der Salesforce-Einrichtung erstellt wurde, und fügen Sie ihn entsprechend ein. Sie können auch den nächsten Parameter verwenden, wenn Sie stattdessen den privaten Schlüssel in die Openflow-Laufzeitumgebung hochladen möchten.

Schlüsseldatei für verbundene App

Sie können die Datei private.key direkt hochladen, indem Sie das Kontrollkästchen Reference asset aktivieren. Laden Sie dann die Datei als Asset hoch und wählen Sie das Asset als Wert für den Parameter aus.

Kennwort für den Schlüssel der verbundenen App

Kennwort, das während der Salesforce-Einrichtung für die private Schlüsseldatei festgelegt wurde.

Destination Database

Name der Datenbank in Snowflake, in die die Salesforce-Daten repliziert werden. Die Datenbank muss vor dem Starten des Konnektors vorhanden sein.

Destination Schema

Name des Schemas in der obigen Datenbank, in dem der Konnektor Tabellen für die hinzuzufügenden Salesforce-Daten erstellt. Das Schema muss vor dem Starten des Konnektors vorhanden sein.

Filter

Durch Kommas getrennte Liste von Objekten, die von Salesforce repliziert werden sollen, oder regulärer Ausdruck, der auf alle vorhandenen Objekte angewendet wird. Beispiel: Account, Opportunity, Contact.

Bemerkung

Wenn das Feld leer ist, werden alle Objekte repliziert. Dies wird nicht empfohlen, da eine Salesforce-Instanz normalerweise Tausende von Objekten enthält.

Incremental Offload

Gibt an, ob der Prozessor eine inkrementelle Auslagerung ausführen soll. Bei true ruft der Prozessor nur die Datensätze, die seit der letzten Übermittlung des Abfragejobs geändert wurden, mithilfe einer WHERE-Klausel für das entsprechende Zeitstempel-Feld ab. Bei false werden bei jeder Ausführung des Konnektors alle Datensätze abgerufen.

Initial Load Chunking

Wenn der Parameter auf einen anderen Wert als NONE gesetzt wird, wird das anfängliche Laden von Daten auf der Grundlage dieses Intervalls in mehrere Jobs aufgeteilt. Beim ersten Ausführen eines Objekts fragt der Konnektor Salesforce ab, um den ältesten Datensatz zu finden, und verwendet diesen als Ausgangspunkt. Jeder nachfolgende Job fragt den nächsten Zeitblock ab, bis die aktuelle Zeit erreicht ist. Sollte mit einem der folgenden Werte festgelegt werden: NONE, MONTHLY, QUARTERLY, YEARLY.

Dies ist nützlich bei großen Datasets, bei denen das Laden aller historischen Daten in einer einzigen Abfrage zu einem Timeout führen und API-Limits oder die Speicherkapazität des Content-Repositorys der Laufzeitumgebung übersteigen kann. Sobald der Vorgang abgeschlossen ist, fährt der Prozessor mit dem normalen inkrementellen Offset-Verhalten fort.

OAuth2 Audience

Zielgruppe, die im JWT-Token festgelegt wird. Dieser Wert ist normalerweise auf https://login.salesforce.com eingestellt.

OAuth2 Client ID

Sollte auf den Wert für Consumer Key gesetzt sein, der während der Salesforce Setup-Schritte abgerufen wurde.

OAuth2 Subject

Sollte auf den Benutzernamen eines von einer Person mit Administratorrechten zugelassenen Benutzenden für die Anwendung zur Interaktion mit Salesforce-APIs im Namen dieses Benutzenden eingestellt werden.

OAuth2 Token Endpoint URL

Endpunkt zum Aushandeln von Token über den JWT-Bearer-Ablauf. Beispiel: https://myCompany.my.salesforce.com/services/oauth2/token.

Objektfelder-Filter JSON

Ein JSON, das pro Salesforce-Objekt festlegt, welche Felder und Feldmuster ein- oder ausgeschlossen werden sollen. Hat die Form eines Arrays mit einem Element pro Objekt.

Beispiel 1: Dies schließt alle Felder ein, die im Salesforce-Objekt „Account“ mit „name“ enden:

[ {"objectType":"Account", "includedPattern":".*name"} ]

Beispiel 2: Dazu gehören die Felder „Id“, „Name“ und „Revenue“ im Salesforce-Objekt „Account“:

[ {"objectType":"Account", "included": ["Id", "Name", "Revenue"]} ]

excluded und excludedPattern sind auch für die Konfiguration der Filter verfügbar.

Auflösung des Objektbezeichners

Legt fest, ob bei Schema-, Tabellen- und Spaltennamen zwischen Groß- und Kleinschreibung unterschieden oder dies ignoriert wird. Eine der folgenden Optionen: CASE_INSENSITIVE / CASE_SENSITIVE.

Bemerkung

Das Ändern dieses Parameterwerts erfordert ein Löschen des Status und ein vollständiges Neuladen aller Objekte.

Entferntes Spaltennamensuffix

Suffix, das dem Spaltennamen hinzugefügt wurde, wenn der Parameter Column Removal Strategy auf Rename Column gesetzt ist. Standard: __deleted.

Run Schedule

Häufigkeit, mit der der Konnektor über den Filter-Parameter in Salesforce nach Aktualisierungen für konfigurierte Objekte sucht. Standard: 15 minutes.

Salesforce-Instanz

Hostname der Salesforce-Instanz, einschließlich des Domänennamens. Fügen Sie nicht das Protokollpräfix hinzu (https://). Verwenden Sie zum Beispiel myCompany.my.salesforce.com.

Snowflake Account Identifier

Snowflake-Kontoname im Format [organization-name]-[account-name], wobei die Daten persistent gespeichert werden. Beispiel: PM-CONNECTORS.

Snowflake-Benutzername

Der Name des Dienstbenutzenden, mit dem der Konnektor eine Verbindung zu Snowflake herstellt. Der Dienstbenutzende ist nur erforderlich, wenn Sie die KEY_PAIR-Authentifizierungsstrategie (nur Openflow BYOC) verwenden.

Snowflake Private Key

Der RSA Private Key, den der Konnektor für die Authentifizierung bei Snowflake verwendet, formatiert nach PKCS8-Standards und mit Standard-PEM-Header und -Footer. Der Header beginnt mit -----BEGIN PRIVATE. Dieser Parameter ist nur erforderlich, wenn Sie die KEY_PAIR-Authentifizierungsstrategie (nur Openflow BYOC) verwenden.

Sie können auch den nächsten Parameter verwenden, wenn Sie stattdessen den privaten Schlüssel in die Openflow-Laufzeitumgebung hochladen möchten.

Snowflake Private Key File

Die Datei, die den RSA Private Key für die Authentifizierung bei Snowflake enthält, formatiert nach PKCS8-Standards und mit Standard-PEM-Header und -Footer. Der Header beginnt mit -----BEGIN PRIVATE. Der Parameter ist nur erforderlich, wenn Sie die KEY_PAIR-Authentifizierungsstrategie (nur Openflow BYOC) verwenden.

Aktivieren Sie das Kontrollkästchen Reference asset, um die private Schlüsseldatei hochzuladen und sicher in der Openflow-Laufzeitumgebung zu speichern.

Snowflake Private Key Password

Das Kennwort, das mit der privaten Snowflake-Schlüsseldatei (falls verschlüsselt) verbunden ist. Dieser Parameter ist nur erforderlich, wenn Sie die KEY_PAIR-Authentifizierungsstrategie (nur Openflow BYOC) verwenden.

Snowflake Role

Name der Snowflake-Rolle, die während der Ausführung der Abfrage verwendet wird. Bei Verwendung von SNOWFLAKE_MANAGED ist dies die Snowflake-Rolle für Openflow-Laufzeitumgebungen. Bei Verwendung von KEY_PAIR (nur Openflow BYOC) ist dies die Rolle, die dem angegebenen Snowflake-Benutzernamen zugewiesen ist.

Snowflake Authentication Strategy

Authentifizierungsstrategie für den Konnektor zur Verbindung mit Snowflake.

Bei Verwendung von SNOWFLAKE_MANAGED (Standard) wird das von Snowflake verwaltete Token genutzt, das mit der angegebenen Snowflake-Laufzeitrolle verbunden ist. Bei Verwendung von Openflow BYOC können Sie auch KEY_PAIR verwenden, um einen bestimmten Benutzenden und eine bestimmte Rolle über ein kundenspezifisches Schlüsselpaar anzugeben.

Snowflake Warehouse

Das Snowflake-Warehouse, das für die Ausführung von Abfragen verwendet wird.

Special Objects Filter

Durch Kommas getrennte Liste von Objekten, die (mithilfe von direktem API-Zugriff) von Salesforce ausgelagert werden sollen, oder regulärer Ausdruck, der auf alle vorhandenen Objekte angewendet wird.

Dieser Filter sollte nur für Objekte verwendet werden, die nicht von der Salesforce Bulk API unterstützt werden, wie z. B. Wissensdaten. Dieser Parameter darf sich nicht mit dem Parameter Filter überschneiden.

Beispiel: Knowledge.*

Konnektor ausführen

Führen Sie die folgenden Schritte aus, um den Konnektor zu starten und mit der Replikation von Daten von Salesforce in Snowflake zu beginnen:

  1. Klicken Sie mit der rechten Maustaste auf einen leeren Bereich im Arbeitsbereich, und wählen Sie Enable all Controller Services aus.

  2. Klicken Sie mit der rechten Maustaste auf die Prozessgruppe des Konnektors, und wählen Sie Start aus.

Verwalten der Objektreplikation

Nachdem der Konnektor gestartet und die Objekte repliziert wurden, können Sie neue Objekte hinzufügen oder vorhandene Objekte aus der Replikation entfernen.

Hinzufügen neuer Objekte zur Replikation

Um ein neues Objekt zur Replikation hinzuzufügen, aktualisieren Sie den:ui:Filter-Parameter (oder:ui:Special Objects Filter-Parameter, falls zutreffend) mit den neuen Objektnamen. Sie müssen den Konnektor nicht anhalten. Das neue Objekt wird bei der nächsten geplanten Ausführung repliziert.

Wenn der aktuelle Filter-Wert beispielsweise Account, Opportunity ist und Sie das Contact-Objekt hinzufügen möchten, ändern Sie den Wert in``Account, Opportunity, Contact``.

Entfernen von Objekten aus der Replikation

Um ein Objekt aus der Replikation zu entfernen, muss der Konnektor angehalten und sowohl der Status des Konnektors als auch die Zieltabelle in Snowflake bereinigt werden:

  1. Stoppen Sie alle Prozessoren im Ablauf, indem Sie mit der rechten Maustaste auf die Konnektor-Prozessgruppe klicken und Stop auswählen.

  2. Stellen Sie sicher, dass keine FlowFiles, die in der Schwebe sind, verarbeitet werden.

  3. Klicken Sie mit der rechten Maustaste auf die Ansicht und wählen Sie Parameters aus. Entfernen Sie dann den Objektnamen aus dem:ui:Filter-Parameter (oder:ui:Special Objects Filter-Parameter, falls zutreffend).

  4. Klicken Sie mit der rechten Maustaste auf den Ansichtsbereich, und wählen Sie Disable all controller services aus.

  5. Wechseln Sie zu Controller services, und öffnen den Status des Controller-Dienstes namens Salesforce Bulk Jobs State.

  6. Wählen Sie das Papierkorb-Symbol neben dem Objekttyp, den Sie entfernt haben, um seinen Statuseintrag zu löschen.

  7. Klicken Sie mit der rechten Maustaste auf die Ansicht und wählen Sie Enable all controller services aus. Starten Sie dann alle Prozessoren, um den Konnektor fortzusetzen.

  8. Löschen Sie ggf. die entsprechende Tabelle aus der Snowflake-Zieldatenbank, um die zuvor replizierten Daten zu bereinigen. Beispiel:

    DROP TABLE <database_name>.<schema_name>.<object_name>;
    
    Copy

Nächste Schritte