Ich fange an zu sagen, ich bin neu bei CloverETL ohne formelle Ausbildung.So generieren Sie dynamische XML-Metadaten mit CloverETL
Ich habe einen Job, der eine ExecuteScript-Komponente mit einem Befehl ausführt, der Apples iTunes Connect Reporter-Java-Tool aufruft, um den Status des Berichts zu erhalten, um mich wissen zu lassen, ob es bereit ist oder nicht herunterzuladen. Die Nachricht des Java-Tools ist in XML und ich schreibe das in eine XML-Datei mit dem UniversalDataWriter. Die letzte Komponente im Job startet einen anderen Jobflow.
Der nächste Jobflow beginnt mit einer XMLExtract-Komponente, die den XML-Code aus der Datei abbildet und den Nachrichtenteil des XML an eine Condition-Komponente sendet, um festzustellen, ob die Datei bereit ist, und die Bedingung zum Herunterladen der Datei aufzuteilen Wenn es bereit ist, oder schlafen und rufen Sie das Java-Tool auf, um den Status nach einiger Zeit wieder zu erhalten, wenn es nicht bereit ist.
Die XML ist fertig Status wie folgt aussieht:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Status>
<Message>Sales and Trends Reporter is currently available.</Message>
<Code>0</Code>
</Status>
Die XML ist nicht verfügbar Status wie folgt aussieht:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Error>
<Code>1</Code>
<Message>Sales and Trends is currently unavailable. Please try again in 15 minutes.</Message>
<Retry>875000</Retry>
</Error>
Der Ausgang ist dynamisch, und ich bin nicht sicher, wie die Metadaten-Format zu sein kann mit beiden Ausgaben umgehen. Der Nachrichtenteil des XML ist das einzige, was mir wichtig ist.
Anstatt also die Antwort auf eine XML-Datei mit dem UniversalDataWriter zu schreiben, würden Sie die Antwort von der ExecuteScript-Komponente direkt an eine SimpleCopy-Komponente füttern, richtig? – KMac