Openflow Connector for Salesforce Bulk API: Problembehandlung

Unter diesem Thema wird die Behandlung von Problemen bei Openflow Connector for Salesforce Bulk API beschrieben.

Überwachung

Um die Datenmenge zu verfolgen, die von Salesforce zu Snowflake synchronisiert wird, fragen Sie die Ereignistabelle ab. Die folgende Beispielabfrage ruft die relevanten Protokolle der letzten 30 Minuten ab:

SELECT
  timestamp,
  Deployment_ID,
  Runtime_Key,
  parsed_log:level as log_level,
  parsed_log:loggerName as logger,
  parsed_log:formattedMessage as message,
  parsed_log
FROM (
  SELECT
    timestamp,
    resource_attributes:"openflow.dataplane.id" as Deployment_ID,
    resource_attributes:"k8s.namespace.name" as Runtime_Key,
    TRY_PARSE_JSON(value) as parsed_log
  FROM OPENFLOW.TELEMETRY.EVENTS
  WHERE true
    AND timestamp > dateadd('minutes', -30, sysdate())
    AND record_type = 'LOG'
    AND resource_attributes:"k8s.namespace.name" like 'runtime-%'
  ORDER BY timestamp DESC
)
WHERE true
  AND logger = 'org.apache.nifi.processors.standard.LogMessage'
  AND message LIKE '%SALESFORCE_BULK_API%';
Copy

Problembehandlung

Verwenden Sie die folgenden Informationen, um Probleme mit dem Konnektor zu beheben.

Überprüfen des Konnektorstatus

Sie können den Zustand des Konnektors untersuchen, um sicherzustellen, dass die Daten wie erwartet repliziert werden. Der Konnektor behält den Status der aktuellen und vergangenen Operationen bei, um sicherzustellen, dass keine Salesforce-Änderungen übersehen werden, und um Abfragen von Massenjobs zu wiederholen, wenn Fehler auftreten.

So zeigen Sie den Status an:

  1. Klicken Sie mit der rechten Maustaste auf den Ansichtsbereich, und wählen Sie Controller services aus.

  2. Suchen Sie den Controller-Dienst namens Salesforce Bulk Jobs State.

  3. Klicken Sie im Menü Salesforce Bulk Jobs State auf View state.

Der Status ist ein Satz von Schlüssel/Wert-Paaren, wobei der Schlüssel vom Typ Salesforce-Objekt ist. Beispiel: Der Status des Account-Objekts könnte wie im folgenden Beispiel aussehen:

{"previousLast":"2025-09-30T09:41:23.484406926Z","currentLast":"2025-09-30T09:41:23.484406926Z","status":"COMPLETED"}
Copy

Der status kann einer der folgenden Werte sein:

  • IN_PROGRESS

  • COMPLETED

  • FAILED

  • ABORTED

Falls der Status IN_PROGRESS ist, wird noch eine FlowFile für diesen Objekttyp verarbeitet.

Vorsicht

Löschen Sie Ablaufdateien nicht manuell. Dies kann dazu führen, dass ein Job auf unbestimmte Zeit im Status IN_PROGRESS verbleibt, da der Status nicht manuell aktualisiert werden kann.

Wenn dies der Fall ist, müssen Sie ein vollständiges Neuladen für diesen Objekttyp ausführen.

Erzwingen eines vollständiges Ladens für einen bestimmten Objekttyp

Um den Konnektor zu zwingen, eine vollständige Aktualisierung für einen oder mehrere Objekttypen durchzuführen:

  1. Stoppen Sie alle Prozessoren im Ablauf.

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

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

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

  5. Führen Sie eine der folgenden Aktionen aus:

    • Wählen Sie Clear state aus, um den gesamten Zustand zu löschen. Dies erzwingt ein vollständiges Laden für alle konfigurierten Objekttypen, die vom Konnektor abgerufen werden.

    • Wählen Sie das Papierkorbsymbol neben einem bestimmten Objekttyp aus, um den Status nur für einen bestimmten Objekttyp zu löschen. Dadurch wird bei der nächsten Ausführung des Konnektors ein vollständiges Laden dieses spezifischen Objekttyps erzwungen.

  6. Klicken Sie im Ansichtsbereich mit der rechten Maustaste, wählen Sie Enable all controller services aus, und starten Sie dann alle Prozessoren.

Wenn ein Objekttyp im Status IN_PROGRESS bleibt

Wenn ein bestimmter Objekttyp im Status IN_PROGRESS „feststeckt“ und es keine FlowFiles in der Schwebe für diesen Objekttyp gibt, wurde möglicherweise eine FlowFile manuell gelöscht, bevor der Status aktualisiert werden konnte.

In diesem Fall müssen Sie ein vollständiges Laden für diesen Objekttyp ausführen, um sicherzustellen, dass der Konnektor alle Ereignisse erfasst.

Wenn der Objekttyp im Status IN_PROGRESS feststeckt, aber keine FlowFiles manuell gelöscht wurden, wenden Sie sich an den Snowflake-Support.