Wiederverwendung von Transformation im Jitterbit Integration Studio
Einführung
Da auf eine Transformation als Operation Schritt in mehreren Operationen gleichzeitig verwiesen werden kann, ist es wichtig, die Auswirkungen und die Komplexität der Wiederverwendung von Transformations zu verstehen.
Der Vorgang des Verweisens auf eine Transformation hängt davon ab, ob das Schema in einer Transformation definiert ist („im Besitz der Transformation“) oder von einer Aktivität geerbt wurde („im Besitz der Aktivität“):
- Transformationseigene Schemata: Wenn ein Schema direkt in einer Transformation definiert ist, es gehört der Transformation und die Referenzierung der Transformation ist unkompliziert, wie in Komponentenwiederverwendung beschrieben.
- Aktivitätseigene Schemata: Im Gegensatz zu transformationseigenen Schemata gilt: Wenn Sie auf eine Transformation verweisen, die mindestens ein Schema von einer Aktivität erbt, die Reihenfolge, in der die Schritte einer Operation konfiguriert werden, steuert, wie die Schemata über Transformation hinweg weitergegeben werden, und bestimmt, welche Nachrichten in der Benutzeroberfläche angezeigt werden. Diese Nachrichten helfen Ihnen bei der Auswahl der zu verwendenden Schemata und erleichtern bei Bedarf die Erstellung einer neuen Transformation. Nachdem Sie auf eine Transformation verwiesen haben, müssen Sie möglicherweise Schemata in der ursprünglichen oder referenzierten Transformation aktualisieren, um Validierungsfehler zu beheben, wie auf dieser Seite beschrieben.
Da diese Seite eine Ergänzung zu Component reuse ist,, werden die auf dieser Seite enthaltenen Informationen nicht wiederholt. Siehe Komponentenwiederverwendung für die Definitionen der Terminologie zur Komponentenwiederverwendung und Informationen zum Kopieren, Ausschneiden und Einfügen von Komponenten (einschließlich Transformations).
Wenn Sie auf eine Transformation verweisen, sollten Sie bedenken, dass sowohl die ursprüngliche Transformation als auch die neu referenzierte Transformation auf dieselbe Komponente verweisen. Alle Änderungen an einer der Transformation wirken sich auf alle Instanzen der referenzierten Transformation aus, einschließlich Änderungen an der Definition von Schemata. Wenn eine Transformation ein Schema von einer benachbarten Aktivität erbt und Sie dann in einem anderen Operation einen Verweis auf diese Transformation erstellen, enthält die neu referenzierte Transformation einen Verweis auf das ursprüngliche Schema, obwohl die Aktivität nicht neben der referenzierten Transformation liegt.
In diesem Fall müssen Sie die Änderungen korrigieren, indem Sie die Schemas aktualisieren und sämtliche Validierungsfehler beheben.
Anwendungsfall
Der vorgesehene Anwendungsfall für die Möglichkeit, eine Transformation wiederzuverwenden, die aktivitätsabhängige Schemata erbt, liegt vor, wenn Sie über mehrere Quellen verfügen, bei denen Sie ähnliche Zuordnungen zum gleichen Ziel verwenden möchten.
Beispielsweise verfügen Sie möglicherweise über Quelldaten, die über aktivitätseigene Schemata sowohl in Endpoint A als auch in Endpoint B bereitgestellt werden. Wenn die Struktur der Quelldaten ähnlich ist, möchten Sie möglicherweise Transformation wiederverwenden, bevor Sie das Ziel von Endpoint C erreichen. In diesem Fall können Sie zuerst den Operation mit Endpoint A als Quelle erstellen und dann seine Transformation kopieren, um sie in einem anderen Operation mit Endpoint B als Quelle wiederzuverwenden.
Zwar ist es auch möglich, eine Transformation wiederzuverwenden, die ein aktivitätseigenes Schema erbt, allerdings werden alle ursprünglichen Transformation aus einer neuen Kopie der Transformation entfernt, die beim Aktualisieren des Schema erstellt wird.
Bewährte Methoden
Wir empfehlen, diese Best Practices zu befolgen, wenn Sie Transformations wiederverwenden, die mindestens ein Schema von einer Aktivität erben.
Hinzufügen von Aktivitäten vor dem Hinzufügen einer Transformation
Wenn Sie eine Transformation mit aktivitätseigenen Schemata in einer Operation wiederverwenden möchten, fügen Sie der Operation immer zuerst die Aktivitäten hinzu, bevor Sie die Transformation der Operation hinzufügen. Die empfohlene Reihenfolge wird durch Szenarien a veranschaulicht und b weiter unten auf dieser Seite.
Wenn Sie diese bewährte Vorgehensweise nicht befolgen und stattdessen zuerst einer Operation eine referenzierte Transformation hinzufügen und dann eine angrenzende Aktivität hinzufügen, die ein Schema bereitstellt, führt dies dazu, dass alle Instanzen der referenzierten Transformation automatisch mit dem neuen Schema aktualisiert werden. Dies kann dazu führen, dass zuvor gültige referenzierte Transformations ungültig werden und Zuordnungen möglicherweise nicht mehr angezeigt werden.
Um diese Situation zu beheben, öffnen Sie bei jeder betroffenen referenzierten Transformation die Transformation und verwenden Sie den Link, der im Transformation angezeigt wird, um das Schema zu aktualisieren und eine unabhängige Kopie der Transformation mit ihren Originalschemata zu erstellen. Die Zuordnungen werden wieder angezeigt, wenn die Originalschemata ersetzt wurden.
Beheben von Zuordnungsfehlern
Nachdem Sie ein nicht übereinstimmendes aktivitätseigenes Schema in einer referenzierten Transformation aktualisiert haben, stellen Sie möglicherweise fest, dass die erstellte unabhängige Transformation Zuordnungen beibehalten hat, die jetzt aufgrund nicht vorhandener Felder aus der vorherigen referenzierten Transformation ungültig sind. Vorhandene Zuordnungen, die auf einen Quell- oder Zielknoten oder ein nicht mehr vorhandenes Feld verweisen, sind in der unabhängigen Kopie der Transformation nicht mehr sichtbar, da sie nicht mehr gültig sind.
Diese Fehler werden bei einer geöffneten Transformation nicht angezeigt, können aber über den Projektbereich identifiziert werden.
Um diese Zuordnungsfehler zu beheben, empfehlen wir, alle ungültigen Zuordnungen mithilfe der Menüoption Alle ungültigen Zuordnungen entfernen im Aktionsmenü des Zielstammknotens zu entfernen.
Szenarien
Diese Szenarien werden verwendet, um den Prozess zum Referenzieren einer Transformation zu beschreiben und zu demonstrieren, die ein Schema von einer Aktivität erbt. Transformations können in einer Operation durch Ziehen und Ablegen oder durch Einfügen einer kopierten oder ausgeschnittenen Operation referenziert werden (siehe Erstellen einer Komponentenreferenz in Komponentenwiederverwendung).
Jedes Szenario bezieht sich auf die Platzierung von Transformations und Aktivitäten auf der Design-Canvas als Schritte einer Operation.
Alle diese Szenarios basieren auf einer ursprünglichen Operation, die eine Transformation verwendet, bei der sowohl die Anforderungs- als auch die Antwortschemata von ursprünglich benachbarten Aktivitäten übernommen werden.
Notiz
Das Verhalten in diesen Szenarien gilt auch für die relevante Schema, wenn durch die Transformation nur ein Schema geerbt wird.
Im ursprünglichen Operation (Original Operation) stellt eine Amazon Redshift Query-Aktivität (Query Accounts) ein Schema bereit und eine Amazon Redshift Upsert-Aktivität (Upsert Accounts) stellt ein Schema für die Transformation (Transformation) bereit:
Die Reihenfolge, in der die Schritte einer Operation hinzugefügt werden, steuert, wie die Schemata über Transformations hinweg weitergegeben werden, und bestimmt, welche Nachrichten in der Benutzeroberfläche angezeigt werden. Die folgende Tabelle fasst die möglichen Szenarien und die Schritte zusammen, in denen eine Operation mit einer Transformation konfiguriert werden könnte. Jedes Szenario wird in einem folgenden Abschnitt beschrieben, wie in der Tabelle verlinkt.
Szenario | Zusammenfassung | Schritte |
---|---|---|
Szenario A | Neben einer Aktivität mit einem definierten Schema wird eine referenzierte Transformation hinzugefügt. |
|
Szenario B | Eine referenzierte Transformation wird neben einer Aktivität ohne definiertes Schema hinzugefügt. |
|
Szenario C | Eine Aktivität mit einem definierten Schema wird neben einer referenzierten Transformation hinzugefügt. |
|
Szenario D | Neben einer referenzierten Transformation wird eine Aktivität ohne definiertes Schema hinzugefügt. |
|
Szenario A: Referenzierte Transformation neben einer Aktivität mit einem definierten Schema hinzugefügt
In Szenario A werden zunächst zwei neue Amazon Redshift Aktivitäten zu einer neuen Operation hinzugefügt und vollständig konfiguriert (durch Abschluss ihrer Schema ): Query Companies und Upsert Persons. Anschließend wird die Transformation aus Original Operation als Referenz zwischen den beiden Aktivitäten hinzugefügt.
Die neu hinzugefügte Transformation ist gültig und weist keine Validierungsfehler auf. Die Operation selbst ist jedoch ungültig:
Der Operation gibt an, dass die Schemas der Transformation nicht mit den Schema übereinstimmen, die von den angrenzenden Aktivitäten der Transformation bereitgestellt werden:
Beheben von Validierungsfehlern
Um das Problem mit der Operation zu beheben, öffnen Sie die Transformation. Im Transformation wird eine Meldung angezeigt, die auf eine Nichtübereinstimmung hinweist. Klicken Sie auf den Link in der Meldung, um das entsprechende Schema zu aktualisieren:
Notiz
Es wird immer nur eine Meldung angezeigt. Wenn beide Schemata nicht übereinstimmen, verwenden Sie den Link in der Meldung, um zuerst eines der Schemata zu aktualisieren und eine Kopie der Transformation zu erstellen (siehe unten). Nachdem Sie eine Kopie der Transformation erstellt haben, wird eine weitere Meldung angezeigt, mit der Sie die andere Schema aktualisieren können.
Wenn Sie auf den Link zum Aktualisieren des Schema klicken, wird ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, eine Kopie der Transformation als neue, unabhängige Komponente zu erstellen:
Wenn Sie auf Weiter klicken, wird diese Transformation von anderen Stellen, an denen sie referenziert wird, getrennt und eine neue Transformation erstellt und geöffnet, die Schemata verwendet, die gemäß der Standardpriorität definiert sind. Das heißt, die neue Transformation verwendet zuerst ein Schema, das von einer Aktivität geerbt wurde, die an die neue Transformation angrenzt. Wenn keine angrenzende Aktivität vorhanden ist oder wenn in der Aktivität kein Schema definiert ist, verwendet die Transformation ein Schema, das in der neuen Transformation definiert ist. Die neue Transformation ist nicht mehr durch Referenz mit der vorherigen Transformation oder mit Schemata verbunden, die von den angrenzenden Aktivitäten der vorherigen Transformation geerbt wurden.
Wenn beide Schemata nicht übereinstimmen oder die Transformation nicht mehr von anderen Vorgängen referenziert wird, wird die neu erstellte Transformation mit einer weiteren Meldung erstellt, die auf eine Schema Nichtübereinstimmung auf der anderen Seite der Transformation hinweist. Klicken Sie erneut auf den Link in der Meldung, um das entsprechende Schema zu aktualisieren:
Ein Dialog zeigt an, dass das aktuelle Schema aus der Transformation entfernt wird und die Transformation dann das Schema von einer Aktivität erbt, die an diese Transformation angrenzt:
Durch Klicken auf Weiter wird das Schema in der aktuellen Transformation aktualisiert:
Die Transformation kann dann aufgrund von Schema auf der Aktivitätsseite ungültig werden (beispielsweise wenn Felder umbenannt werden oder nicht mehr vorhanden sind):
Ordnen Sie die Zielfelder nach Wunsch zu, um die Transformation zu konfigurieren.
Notiz
Wenn Validierungsfehler bei der Transformation bestehen bleiben, kann es sein, dass vorhandene Zuordnungen der zuvor referenzierten Transformation in der Transformation erhalten bleiben, wodurch die Transformation ungültig wird. Informationen zum Beheben dieser Fehler finden Sie im Abschnitt Transformation weiter unten auf dieser Seite.
Szenario B: Referenzierte Transformation neben einer Aktivität ohne definiertes Schema hinzugefügt
In Szenario B werden zunächst zwei neue Variablenaktivitäten zu einer neuen Operation hinzugefügt: Aus Variable lesen und In Variable schreiben. Jede Variablenaktivität ist vollständig konfiguriert, mit der Option, kein Schema bereitzustellen. Dann wird die Transformation aus Originaloperation als Referenz zwischen den beiden Aktivitäten hinzugefügt.
Für alle Operation und die Operation selbst gilt:
In diesem Szenario kann die ursprüngliche Transformation (Transformation) problemlos referenziert werden. Die Transformation verwendet weiterhin Schemata, die in den Aktivitäten der Originaloperation definiert sind.
Wenn Sie die Transformation öffnen, können Sie sehen, woher die Schemas stammen, und Sie können jede Amazon Redshift Aktivität öffnen, indem Sie im Aktionsmenü des Schemas Aktivität bearbeiten auswählen. Mit Schema aktualisieren wird das Schema aus den Aktivitäten der Ursprünglichen Operation aktualisiert:
Szenario C: Aktivität mit einem definierten Schema, das neben einer referenzierten Transformation hinzugefügt wurde
Im Szenario C wird zunächst die ursprüngliche Transformation (Transformation) als Referenz zu einer neuen Operation hinzugefügt.
Anschließend werden der Operation auf beiden Seiten der Transformation zwei neue Amazon Redshift Aktivitäten hinzugefügt: Query Employees und Upsert User Data:
Wenn Sie das Schema jeder Aktivität konfigurieren, erbt die angrenzende Transformation, die zuvor ihre Schemata von den Aktivitäten in der ursprünglichen Operation geerbt hat, jetzt ihre Schemata von den Aktivitäten, die direkt an die Transformation angrenzen. Dies wirkt sich auf alle Stellen aus, an denen auf die Transformation verwiesen wird, und kann dazu führen, dass andere Operationen ungültig werden.
Beim Öffnen jeder Aktivität zum Konfigurieren werden in einem Dialogfeld alle anderen Vorgänge aufgelistet, die auf die Transformation verweisen und davon betroffen sind:
Dieser Dialog dient nur zu Informationszwecken, da durch Klicken auf Weiter die Transformation noch nicht aktualisiert wird. Stattdessen gelangen Sie durch Klicken auf Weiter zurück zum Aktivitätskonfigurationsbildschirm. Wenn Sie diesen Dialog über die Schaltfläche abbrechen, Esc
Taste hat dasselbe Ergebnis wie das Klicken auf Weiter. Wenn Sie den Aktivitätskonfigurationsbildschirm schließen, ohne das Schema zu konfigurieren, ist die angrenzende Transformation davon nicht betroffen, da die Aktivität ohne Schema unkonfiguriert bleibt.
Sobald Sie die Aktivität mit einem Schema konfigurieren, werden die aufgelisteten Vorgänge beeinflusst.
Warnung
Das Hinzufügen der Aktivitäten mit definierten Schemas auf beiden Seiten der referenzierten Transformation wirkt sich auf alle Stellen aus, an denen auf die Transformation verwiesen wird, und kann dazu führen, dass andere Vorgänge ungültig werden.
Die neu hinzugefügte Transformation ist ungültig:
Der Operation mit den Aktivitäten, die jetzt Schemata für die Transformation bereitstellen, ist ungültig, da die Transformation ungültig ist. In der Transformation gibt es jedoch keine Hinweise auf Validierungsfehler bei der Transformation:
Beheben von Validierungsfehlern
In diesem Szenario ist die Transformation aufgrund von Schema auf der Aktivitätsseite ungültig (z. B. wenn Felder umbenannt werden oder nicht mehr vorhanden sind). Informationen zur Lösung dieses Problems finden Sie im Abschnitt Transformation weiter unten auf dieser Seite.
Darüber hinaus sind möglicherweise andere Vorgänge, die die Transformation verwenden, ungültig geworden. Beispielsweise wird Originalvorgang automatisch ungültig, da seine Transformation automatisch geändert wurde, sodass sie nun auf die Schemata der Aktivitäten in Szenario C verweist:
Um Fehler bei anderen Vorgängen zu korrigieren, öffnen Sie die Transformation in jedem Operation und klicken Sie auf den Link zum Aktualisieren des Schema, der in der Nachricht im Transformation angezeigt wird (wie in Szenario A beschrieben), über).
Szenario D: Aktivität ohne definiertes Schema neben einer referenzierten Transformation hinzugefügt
Im Szenario D wird zunächst die ursprüngliche Transformation (Transformation) als Referenz zu einer neuen Operation hinzugefügt.
Anschließend werden dem Operation auf beiden Seiten der Transformation zwei neue temporäre Speicheraktivitäten hinzugefügt: Aus temporärem Speicher lesen und In temporären Speicher schreiben:
Beim Öffnen jeder Aktivität zum Konfigurieren wird in einem Dialogfeld fälschlicherweise der Eindruck erweckt, dass durch das Konfigurieren der Aktivität auch andere Vorgänge beeinflusst werden:
Wenn Sie in der Aktivitätskonfiguration kein Schema angeben, ist die angrenzende Transformation davon nicht betroffen. Die angrenzende Transformation erbt weiterhin ihre Schemata von den Aktivitäten im Ursprünglichen Vorgang.
Warnung
Wenn Sie die Aktivität zu einem späteren Zeitpunkt neu konfigurieren, um in der Aktivitätskonfiguration ein Schema bereitzustellen, sind die angrenzende Transformation und alle anderen Vorgänge, bei denen darauf verwiesen wird, davon betroffen, obwohl dieses Dialogfeld nicht erneut angezeigt wird.
Nachdem Sie jede Aktivität vollständig konfiguriert und die Option ausgewählt haben, kein Schema anzugeben, sind alle Operation und der Operation selbst gültig:
In diesem Szenario kann die ursprüngliche Transformation (Transformation) problemlos referenziert werden. Die Transformation verwendet weiterhin Schemata, die in den Aktivitäten der Originaloperation definiert sind.
Wenn Sie die Transformation öffnen, können Sie sehen, woher die Schemas stammen, und Sie können jede Amazon Redshift Aktivität öffnen, indem Sie im Aktionsmenü des Schemas Aktivität bearbeiten auswählen. Mit Schema aktualisieren wird das Schema aus den Aktivitäten der Ursprünglichen Operation aktualisiert:
Transformation
Unabhängig davon, wo die Schemata einer Transformation definiert sind, Transformation gehören der Transformation. Wenn sich das Schema ändert, sodass Zielfelder mit Zuordnungen nicht mehr vorhanden sind, und diese Felder später erneut hinzugefügt werden, werden die Transformation erneut angezeigt.
Zuordnungen, die in einer Transformation verbleiben, nachdem das Schema geändert wurde, führen zu Gültigkeitsfehlern bei der Transformation, wenn zugeordnete Felder in einem Schema nicht mehr vorhanden sind.
Dies kann auftreten, wenn auf eine Transformation mit Zuordnungen, die ihre Schemata einst von benachbarten Aktivitäten erbte, später in einer anderen Operation mit anderen benachbarten Aktivitäten verwiesen wird, die Schemata bereitstellen, wie in den Szenarien von Szenario B beschrieben und Szenario D über.
In diesem Fall tritt ein Transformation auf beschreibt die fehlenden Felder, allerdings werden in der Transformation selbst keine Validierungsfehler angezeigt.
Um das Problem zu beheben, können Sie alle ungültigen Zuordnungen mithilfe der Menüoption Alle ungültigen Zuordnungen entfernen im Aktionsmenü des Zielstammknotens entfernen (siehe Zielknoten im Mapping-Modus).