Snowpark Migration Accelerator: Kategorisierung von Problemcodes¶
Der Snowpark Migration Accelerator (SMA) analysiert Ihre Codebasis und erzeugt Problemcodes. Diese Codes liefern zwar detaillierte Informationen, lassen sich aber in drei Hauptkategorien einteilen.
Parsing-Fehler¶
Ein Parsing-Fehler tritt auf, wenn SMA einen Teil Ihres Quellcodes nicht verstehen oder verarbeiten kann. Dies geschieht, wenn SMA auf einen Code stößt, den es entweder nicht erkennt oder für ungültig hält. Diese Fehler haben in der Regel eine von zwei Ursachen:
Ein Problem mit dem SMA-Tool selbst
Probleme in Ihrem Quellcode
Diese Art von Fehler kann aus verschiedenen Gründen auftreten.
Ungültiger Quellcode: Der Code muss auf der Quellplattform ausführbar sein. Wenn Sie Codeausschnitte oder Teilcode zur Verfügung stellen, die nicht unabhängig in der Quellplattform ausgeführt werden können, kann SMA diese nicht analysieren.
Zirkuläre Abhängigkeiten: Bei der Analyse großer Codebasen kann SMA auf zirkuläre Referenzen zwischen Codeelementen stoßen. Dies kann dazu führen, dass das Tool einige dieser voneinander abhängigen Referenzen überspringt oder nicht analysieren kann.
Neue Code-Muster: Während SMA regelmäßig aktualisiert wird, entwickeln sich auch die Quellplattformen ständig weiter. Es kann Fälle geben, in denen neu eingeführte Codemuster noch nicht vom Tool unterstützt werden.
Kodierungsprobleme: Wenn Ihr Quellcode eine inkonsistente Kodierung oder unerwartete Zeichen am Anfang oder Ende von Dateien enthält, kann SMA Parsing-Fehler erzeugen, selbst wenn der Code auf der Quellplattform erfolgreich läuft.
Wenn Parsing-Fehler auftreten, werden sie durch spezielle Fehlercodes gekennzeichnet. Um zu verstehen, was diese Codes bedeuten und wie sie sich auf Parsing-Fehler beziehen, lesen Sie bitte den Abschnit „Problemcodes nach Quelle“ in unserer Dokumentation.
Konvertierungsfehler¶
Ein Konvertierungsfehler tritt auf, wenn SMA den Code erfolgreich identifiziert, ihn aber nicht konvertieren kann. Im Gegensatz zu Parsing-Fehlern deuten Konvertierungsfehler nicht auf Probleme mit Ihrem Quellcode hin. Stattdessen zeigen sie, dass SMA wie beabsichtigt funktioniert, indem es Codesegmente identifiziert, die außerhalb seiner Konvertierungsmöglichkeiten liegen.
Es gibt mehrere häufige Gründe, warum Code nicht konvertiert werden kann. Dazu zählen:
Das Element aus dem Quellcode kann nicht in Snowflake implementiert werden. Derzeit gibt es in Snowflake keine entsprechende Funktion für dieses Quellcode-Element.
Die spezifische Verwendung eines Elements wird in Snowflake nicht unterstützt. Auch wenn Snowflake ein bestimmtes Element der Quellplattform unterstützt, ist die Art und Weise, wie es im Quellcode verwendet wird, nicht mit der Implementierung von Snowflake kompatibel.
Die erforderlichen Parameter werden nicht unterstützt. SMA erstellt ein detailliertes Funktionsmodell des Quellcodes, indem es analysiert, wie jedes Element verwendet wird, anstatt nur Elemente zu identifizieren und zu kategorisieren. Manchmal gibt es für wichtige Funktionsparameter aus dem Quellcode keine entsprechende Unterstützung in Snowflake.
Bestimmte Funktionskombinationen sind nicht kompatibel. Das das Funktionsmodell von SMA analysiert, wie die Funktionen zusammenarbeiten. Selbst wenn einzelne Funktionen in Snowflake unterstützt werden, ist ihre kombinierte Verwendung möglicherweise nicht möglich. In solchen Fällen wird SMA dies als Konvertierungsfehler kennzeichnen.
Die meisten Fehlermeldungen enthalten spezifische Empfehlungen oder nächste Schritte, die Ihnen helfen, das Konvertierungsproblem zu lösen. Sie können diese Vorschläge auf der entsprechenden Fehlerseite finden.
Wenn SMA auf einen Konvertierungsfehler stößt, fügt es einen EWI-Kommentar (Fehler, Warnung, Info) in den konvertierten Code ein und zeichnet den Fehler in der Probleminventar-Datei auf. Das System wird dann:
Eine Kommentarsymbol in der Zeile hinzufügen, die den Konvertierungsfehler enthält.
Die Zeile unkommentiert lassen, um zu verhindern, dass die Datei ausgeführt wird.
Wenn Konvertierungsfehler auftreten, hat jeder Fehler einen eindeutigen Fehlercode. Um zu verstehen, was diese Codes bedeuten und wie Sie sie beheben können, lesen Sie bitte den Abschnit „Problemcodes nach Quelle“ in unserer Dokumentation.
Warnung¶
Eine Warnung unterscheidet sich von einem Fehler in SMA. Es werden Warnungen angezeigt, wenn das Tool Änderungen feststellt, die Sie beachten sollten. Diese Änderungen verhindern zwar nicht, dass Ihr Code ausgeführt wird, aber sie weisen darauf hin, dass bestimmte Aspekte Ihres Codes in der konvertierten Ausgabe anders aussehen oder sich anders verhalten könnten als im Quellcode.
Häufige Gründe für Warnmeldungen:
Der Code erscheint anders. SMA führt Transformationen durch, die eine EWI-Meldung (Fehler, Warnung oder Information) erzeugen.
Einige spezifische Szenarien werden möglicherweise nicht erfolgreich konvertiert. Das Tool erzeugt eine Warnung, wenn ein bestimmtes Feature in 99,9 % der Testfälle funktioniert, aber bei bestimmten Parameterkombinationen fehlschlägt. Wenn Ihr Code diese spezifischen Parameterkombinationen verwendet, erhalten Sie einen Konvertierungsfehler.
Elemente wurden weggelassen. Dies ist die häufigste Art der Warnung. Viele Funktionen oder Parameter, die im Quellsystem wichtig sind, werden in Snowflake nicht benötigt.
Warnungen sind Informationsmeldungen, die normalerweise keine sofortige Aktion erfordern. Wir empfehlen jedoch dringend, alle Warnungen zu überprüfen, bevor Sie den Code in der Zielumgebung einsetzen. Diese Warnungen sollten während der Testphase des konvertierten Codes berücksichtigt werden.
Warnungen werden durch spezifische Fehlercodes gekennzeichnet. Um zu verstehen, was diese Codes bedeuten, lesen Sie den [Abschnit „Problemcodes nach Quelle“](issue-codes-by-source/README. md) in dieser Dokumentation.