FME Flow:2025,0
Layout der Konfigurationsdatei
Die FME-EnginesKonfigurationsdatei besteht aus mehreren Abschnitten, von denen jeder einen bestimmten Satz von Aufgaben erfüllt. Die Konfigurationsdatei kann zwei Komponenten enthalten: einen globalen Abschnitt und null oder mehr Unterabschnitte.
Das allgemeine Layout sieht folgendermaßen aus:
GLOBALER_ABSCHNITT
<Globale Richtlinien>
UNTERABSCHNITT <Name>
<UnterabschnittRichtlinien>
Globaler Abschnitt
Der Abschnitt „Global“ definiert alle globalen Anweisungen, die für eine einzelne FME Engine-Sitzung gelten. Eine Sitzung ist definiert als der Zeitraum, in dem eine FME-Engine gestartet wird, eine bestimmte Anzahl von Übersetzungen durchführt und heruntergefahren wird.
Der Abschnitt „Global“ hat die folgende allgemeine Form:
GLOBALER_ABSCHNITT \
[FME_WORKING_DIR <Ergebnisverzeichnispfad> \]
[FME_MAPPING_DIR <Repository-Stammverzeichnispfad> \]
[FME_RESULT_LIFETIME <Ergebnis-Lebensdauer-Sekunden> \]
[FME_PURGE_INTERVAL <Ergebnis-Löschintervall-Sekunden> \]
[AUTO_DIR_PREFIX <Verzeichnispräfix> \]
[AUTO_FILE_PREFIX <Dateipräfix> \]
[RECEIVE_TIMEOUT 0 \
[FME_SHARED_RESOURCE_DIR <shared_dir>
[FME_SERVER_LOG_FILE <Server-Logdateipfad>\]
[MACRO_DEF FME_DATA_REPOSITORY <data-repository-dirpath>\]
[FME_ENGINE_MEMORY_REDLINE <Prozentsatz> \]
[SUCCESS_RESPONSE <Nachricht> \]
[FAILURE_RESPONSE <Nachricht> \]
Die globalen Richtlinien werden in der folgenden Tabelle beschrieben. Es ist wichtig, daran zu denken, dass die Unterabschnittsanweisungen die globalen Anweisungen außer Kraft setzen.
GLOBAL_SECTION-Direktive |
Beschreibung |
FME_WORKING_DIR <Ergebnisverzeichnispfad> |
Gibt den Verzeichnispfad an, in den dieFME Flow schreibt alle Übersetzungsergebnisse, es sei denn, dieFME_WORKING_DIR wird im Unterabschnitt für einen bestimmten Job angegeben. Standard: Aktuelles Arbeitsverzeichnis NotizWannWenn Sie das Verzeichnis ändern, müssen Sie auch die entsprechende Anweisung in den Eigenschaftendateien aller von Ihnen verwendeten Webanwendungsdienste ändern. Wenn Sie beispielsweise den Datendownload-Dienst verwenden, müssen Sie die
RESULT_DIR Direktive in der Eigenschaftendatei für diesen Dienst. Die Eigenschaftendateien der Webanwendung befinden sich unter<FMEFlowDir>\Utilities\tomcat\webapps\<WebApp>\WEB-INF\conf .WarnungAchten Sie darauf, dass dieFME_WORKING_DIR Der Wert wird auf das entsprechende Verzeichnis eingestellt. An diesen Speicherort schreibt die FME-Engine ihre Übersetzungsergebnisse. Dies ist wichtig – Sie können die FME Engine so einstellen, dass sie regelmäßig und rekursiv alle Dateien in diesem Verzeichnis löscht, die älter als ein bestimmtes Alter sind (angegeben durchFME_RESULT_LIFETIME). Wenn dieFME_WORKING_DIR auf das falsche Verzeichnis eingestellt ist,FME Flow löscht Dateien in diesem Verzeichnis, anstatt die Übersetzungsergebnisse hier zu schreiben.
|
FME_MAPPING_DIR <Repository-Stammverzeichnispfad> |
Gibt dieFME Flow's-RepositoryWurzel Verzeichnispfad, wobeiworkspaces, die von der FME Engine während der Übersetzungen ausgeführt werden, sind enthalten. Standard: Aktuelles Arbeitsverzeichnis |
FME_RESULT_LIFETIME <Ergebnislebensdauer-Sekunden> |
Gibt an, wie lange (in Sekunden) die Übersetzungsergebnisse gespeichert werden. Die FME Engine prüft regelmäßig alle Dateien, die älter als diese Anzahl sind, und löscht sie rekursiv aus demFME_WORKING_DIR als Haushaltsmaßnahme. Die Häufigkeit dieser automatischen Löschprüfung wird durch den Wert vonFME_PURGE_INTERVAL, wie im Folgenden beschrieben. Immer wenn eine automatische Dateilöschung durchgeführt wird, geschieht dies nach einer Übersetzung. Standard: Wenn der Wert Null ist oder die Direktive fehlt, werden die Ergebnisse nie gelöscht – die Lebensdauer ist unendlich. |
FME_PURGE_INTERVAL <Ergebnislöschintervall-Sekunden> |
Gibt den Zeitraum für die automatische Löschüberprüfung in Sekunden an. Die FME Engine prüft auf Dateien, die älter sind alsFME_RESULT_LIFETIME und löscht alle gefundenen. Diese Prüfung erfolgt bei derFME_PURGE_INTERVAL Zeitraum. Beachten Sie, dass die FME-Engine erst nach jeder Übersetzung entscheidet, ob die Prüfung durchgeführt wird oder nicht. Es wird kein Timer zum Auslösen der Prüfung eingestellt. Dies bedeutet, dass die Prüfung im eingestellten Intervall erfolgen kann, je nach Häufigkeit der Übersetzungen aber auch in größeren Abständen erfolgen kann. Standard: Wenn diese Anweisung fehlt, ist der Standardwert 0 – prüft nach jeder Übersetzung, ob zu löschende Übersetzungsergebnisse vorhanden sind. |
AUTO_DIR_PREFIX <Verzeichnispräfix> und AUTO_FILE_PREFIX <Dateipräfix> |
Die Konfigurationsdatei der FME Engine verwendet die beiden Pseudovariablen:S !FME_AUTO_DIR_NAME! !FME_AUTO_FILE_NAME! um eindeutige Namen für Verzeichnisse und Dateien mit Übersetzungsergebnissen darzustellen. Standardmäßig haben die Namen diese Form: FME_<cnnnnnnnnnnnnn> Zum Beispiel: FME_a03508997017636 Sie können die Standardeinstellung ändernFME_ Präfix für einen standortspezifischen Wert. Site-spezifische Präfixe werden definiert mit demAUTO_DIR_PREFIX Direktive zum Festlegen des Präfixes von Verzeichnisnamen und der AUTO_FILE_PREFIX Direktive zum Festlegen des Präfixes für Dateinamen. Die Anweisungen haben die folgende Syntax: AUTO_DIR_PREFIX <Präfix> AUTO_FILE_PREFIX <Präfix> Die nützlichste Anwendung dieser Anweisungen besteht darin, den Dateinamenpräfix mit demAUTO_FILE_PREFIXRichtlinie. Auf diese Weise können die Namen der Übersetzungsergebnisdateien die Ursprungsorganisation besser widerspiegeln. Wenn eine dieser Anweisungen vorhanden ist, wird die angegebene<Präfix> Wert wird anstelle vonFME_. Wenn es nicht vorhanden ist, wird als Präfix standardmäßig dasFME_ Standardwert. Wenn zum BeispielAUTO_FILE_PREFIXNudel_ angegeben wurde, hätten die Dateinamen der Übersetzungsergebnisse folgende Form: Nudel_<cnnnnnnnnnnnnn> Beachten Sie, dass ein abschließender Unterstrich im Präfixwert nicht vorausgesetzt wird. Wenn Ihr Präfix eines dieser Zeichen enthalten soll, müssen Sie es explizit als Teil des Präfixwerts einschließen. Sie können eine oder beide dieser Anweisungen im globalen Abschnitt und/oder in einem beliebigen Unterabschnitt der Konfigurationsdatei angeben. Wenn es im globalen Abschnitt angegeben ist, wird das Präfix von allen Unterabschnitten verwendet, die selbst keins angeben. Unterabschnitte, die ein Präfix angeben, verwenden stattdessen dieses und verwenden kein angegebenes globales Präfix. Standard:Wenn die Direktive fehlt, wird ein Präfix vonFME_ verwendet wird. |
RECEIVE_TIMEOUT <Zeitüberschreitungsdauer_ms> |
Dieses Timeout wird in Millisekunden gemessen. Wenn die FME-Engine innerhalb dieses Zeitraums keine Übersetzungsanforderungen erhält, schaltet sie sich selbst ab. DerFME Flow Das System startet dann eine neue FME Engine-Instanz. Unter den meisten Betriebsbedingungen ist dieser Wert auf den empfohlenen Standardwert Null eingestellt. Diese Einstellung bedeutet, dass die FME-Engine unbegrenzt auf Anfragen wartet und nie aufgrund fehlender eingehender Anfragen heruntergefahren wird. Sie können diese Anweisung jedoch verwenden, um eine begrenzte Zeitüberschreitungsperiode in Umgebungen anzugeben, in denen ein Netzwerkmonitor Verbindungen beendet, die über einen voreingestellten Zeitraum hinaus inaktiv bleiben. Wenn dies mit der Verbindung geschieht, auf der eine FME-Engine auf den Empfang von Anforderungen wartet, kann die FME-Engine nicht mehr antworten und gerät in einen hängenden Zustand. Wenn Sie diese Anweisung auf einen Wert ungleich Null setzen, beendet sich die FME-Engine nach der angegebenen Zeit selbst. Die FME Engine bricht effektiv aus dem hängenden Zustand aus und ermöglicht so dieFME Flow System, um eine neue FME Engine-Instanz zu starten, die erneut auf Anfragen reagieren kann. |
FME_SHARED_RESOURCE_DIR <gemeinsame_Verzeichnisse> |
Gibt die Dateipfade eines oder mehrerer Stammverzeichnisse an. Diese Verzeichnisse werden von der FME Engine verwendet, um verschiedene Arten vonRessourcen, wie etwa benutzerdefinierte Format-, Transformator- und Koordinatensystemdefinitionen. Verwenden Sie Semikolons, um mehrere Dateipfade für freigegebene Verzeichnisse zu trennen. Standard:<FMEFlowDir>\Server\resources\shared |
FME_SERVER_LOG_FILE <Engine-Protokolldateipfad> |
Gibt den Dateipfad zur Protokolldatei der FME Engine an. Diese Protokolldatei enthält einen Dump der Konfigurationsdatei der Engine und andere Informationen zum Gesamtbetrieb der FME Engine. Beachten Sie, dass diese Datei nicht die Verarbeitung einzelner Übersetzungsanfragen protokolliert. Diese wird separat in einzelnen Übersetzungsprotokolldateien protokolliert. Für jede FME-Engine und daher für jede fmeEngineConfig.txt müssen Sie einen anderen fmeEngine.log-Dateinamen angeben. Sie können die Pseudovariable !FME_INSTANCE_NAME! verwenden. um eine Protokolldatei mit dem Namen der Instanz wie folgt zu erstellen:<FMEFlowDir>\Logs\fmeEngine_!FME_INSTANCE_NAME!.log Diese Anweisung enthält einen zusätzlichen Parameter, der auf den Dateipfad folgt. Der Wert des Parameters kannWAHR oderFALSCH, die angibt, ob die Protokolldatei bei jedem Start der FME Engine angehängt werden soll oder nicht. WAHR bedeutet, dass die Datei angehängt wird undFALSCH bedeutet, dass es überschrieben wird. Standard:<FMEFlowDir>\Logs\fmeEngine.log FALSE |
MACRO_DEF FME_DATA_REPOSITORY <data-repository-dirpath> |
Gibt das Verzeichnis an, das verwendet wird vonFME FlowWeb-Benutzeroberfläche zum temporären Hochladen von Daten. In einer verteilten Umgebung muss dieses Verzeichnis für den Webserver und die FME-Engines zugänglich sein. Es wird empfohlen, einen UNC-Pfad anzugeben. |
FME_ENGINE_MEMORY_ |
Der automatische Ressourcenmanager bestimmt den optimalen Gesamtspeicher, den der FME Engine-Prozess verwenden sollte. Außerdem wird dieser Gesamtspeicher dynamisch und optimal den Algorithmen innerhalb von FME zugewiesen, die ihn anfordern. Die Direktive FME_ENGINE_MEMORY_REDLINE ist ein Hinweis für die FME-Engine, wie aggressiv sie beim Speicherverbrauch sein sollte. Es nimmt einen Wert zwischen 0 und 1 an (0,5 ist der Standardwert). Für eine aggressivere Speichernutzung sollte ein Wert über 0,5 verwendet werden. Für eine sicherere Speichernutzung sollte ein Wert unter 0,5 verwendet werden. Bei zu aggressivem Vorgehen besteht die Gefahr, dass dem Prozess der Speicher ausgeht oder die Maschine überlastet wird. Das Risiko einer zu konservativen Vorgehensweise besteht darin, dass der Prozess länger dauert. Standard:0,5 |
Antwortnachrichten ERFOLGREICHE ANTWORT FEHLERANTWORT |
DerERFOLGREICHE ANTWORT UndFEHLERANTWORT Richtlinien werden auf globaler Ebene festgelegt. Sie definieren die Nachrichtenzeichenfolge, die von der FME-Engine für erfolgreiche bzw. fehlgeschlagene Übersetzungen zurückgegeben wird. Diese Anweisungen stellen den Mechanismus bereit, mit dem die FME-Engine Ergebnisse an den Client zurückmeldet. Der Inhalt dieser Antwortnachrichten ist nur für den Client von Bedeutung. Die FME-Engine gibt die Nachricht einfach wie definiert an den Client zurück, der sie dann auf die von ihm gewählte Weise verarbeitet. Die Nachricht kann die vordefinierten Pseudovariablen und mehrere andere Anweisungen enthalten. |
Spezielle Richtlinien
Zusätzlich zu den allgemeinen globalen Abschnittsanweisungen, die in der vorhergehenden Tabelle aufgeführt sind, stehen bei Bedarf auch die folgenden Anweisungen für spezielle Zwecke zur Verfügung. Es ist wichtig, daran zu denken, dass die Unterabschnittsanweisungen die globalen Anweisungen außer Kraft setzen.
Spezieller Zweck |
SDE30_PERM_CONNECT <Host> <Instanz> <Datenbank> <Benutzer-ID> <Passwort> |
|
Definiert eine permanente Verbindung zu einem ESRI SDE-Server. Diese Verbindung wird hergestellt, unmittelbar bevor die erste Übersetzung auf der FME-Engine durchgeführt wird. Die Verbindung wird dann von der Engine aufrechterhalten, sodass für nachfolgende Übersetzungen keine neue SDE-Verbindung hergestellt werden muss. Gehen Sie bei der Verwendung dieser Anweisung vorsichtig vor, da SDE-Verbindungen eine wertvolle Ressource sind und Sie sie sparsam einsetzen sollten. Generell empfiehlt es sich, die FME Engine zunächst ohne permanente Verbindung zu verwenden. Sie können später eine dauerhafte Verbindung in Betracht ziehen, wenn Ihnen das Herstellen und Trennen der Verbindung zu SDE zu teuer ist. |
<Host> |
Der Name des Hostcomputers, auf dem der SDE-Server ausgeführt wird. Standard: Standortspezifisch |
<Instanz> |
Die SDE-Instanz, mit der sich die FME Engine verbinden soll. Standard:Port: 5151 |
<Datenbank> |
Die Datenbank auf der Instanz, die verbunden werden soll. Wenn sich die SDE auf Datenbanken wie Oracle befindet, wird der angegebene Wert nicht verwendet. Obwohl Sie jeden beliebigen Wert angeben können, besteht die Konvention darin, für die Datenbank den Wert NOTUSED anzugeben. Standard: Standortspezifisch |
<Benutzer-ID> |
Das Benutzerkonto, das für die Anmeldung bei der SDE verwendet wird. Standard: Standortspezifisch |
<Passwort> |
Das Benutzerkennwort des Benutzerkontos. Standard: Standortspezifisch |
Unterabschnitte
Unterabschnitte sind optional und wenn vorhanden, überschreiben ihre Anweisungen globale Anweisungen. Wenn ein Unterabschnitt vorhanden ist, wird er mit einem Schlüsselwort benannt, mit dem Clientanwendungen darauf verweisen können. Sie können mehrere Unterabschnitte für verschiedene Zwecke definieren.
In einemFME Flow Umgebung hat jeder Dienst (wie Datendownload, Datenstreaming usw.) seinen eigenen Unterabschnitt.
Wenn eine Stellenanfrage – auch von einemFME Flow Dienst – gibt einen Unterabschnitt an. Die FME-Engine führt diesen Job unter Verwendung der Anweisungen im angegebenen Unterabschnitt aus. Die folgende Tabelle zeigt dieFME Flow Webdienste und die entsprechenden Unterabschnitte, die von der FME-Engine beim Ausführen einer Jobanforderung von diesem Dienst verwendet werden.
FME FlowService |
FME-Engine-Unterabschnitt |
|
Daten-Download-Dienst |
FILE_DOWNLOAD_SERVICE |
|
Daten-Streaming-Dienst |
STREAM_DOWNLOAD_SERVICE |
|
FME FlowKonsole |
SERVER_CONSOLE_CLIENT |
|
FMEFlowJobSubmitter-Transformator |
SERVER_JOB_SUBMITTER |
|
Jobsubmitter-Dienst |
JOB_SUBMITTER_SERVICE |
|
REST-Dienst |
REST_SERVICE |
|
FME FlowPlaner |
SERVER_SCHEDULER |
Jeder Unterabschnitt kann Vorgänge angeben, die die FME-Engine vor und nach der Verarbeitung einer Übersetzungsanforderung ausführen soll. Der Unterabschnitt kann auch definieren, welche Erfolgs- und Fehlerantwortmeldungen zur Übersetzung an den Client zurückgegeben werden, und kann FME definierenworkspace auch Makrowerte.
Zusätzlich zu ihren eigenen Anweisungen können Unterabschnitte eine Reihe von Anweisungen verwenden, die dem globalen Abschnitt zur Verfügung stehen, um die globalen Werte für diesen bestimmten Unterabschnitt zu überschreiben.
Durch die Angabe eines Unterabschnitts mit Namen in der Übersetzungsanforderung können Clients veranlassen, dass die durch den Unterabschnitt definierten Vorgänge von der FME-Engine für die angeforderte Übersetzung ausgeführt werden.
Jeder Unterabschnitt hat die folgende allgemeine Form:
SUB_SECTION <Schlüsselwort> \
[<Globale Anweisungen> \]
[FME_TRANSFORMATION_LOG_DIR <logfile-dirpath> \]
[MACRO_DEF <Makroname> <Makrowert> \]*
[SUCCESS_RESPONSE <Nachricht> \]
[FAILURE_RESPONSE <Nachricht> \]
Die Unterabschnittsdirektiven, die globale Direktiven außer Kraft setzen, werden in der folgenden Tabelle beschrieben.
SUB_SECTION-Direktiven |
Beschreibung |
SUB_SECTION <Schlüsselwort> |
Identifiziert den Unterabschnitt, der definiert wird. Es gibt keine Begrenzung für die Anzahl der Unterabschnitte, die Sie definieren können. Kennzeichnen Sie jeden Unterabschnitt mit einem eindeutigen<Schlüsselwort> – es kann nicht beginnen mitFME_. |
<Globale Richtlinien> |
Die folgenden globalen Anweisungen sind auch für Unterabschnitte verfügbar, wo Sie sie mit anderen Werten neu definieren können: FME_WORKING_DIR FME_MAPPING_DIR AUTO_DIR_PREFIX AUTO_FILE_PREFIX ERFOLGREICHE ANTWORT FEHLERANTWORT Neu definierte Anweisungen überschreiben den globalen Wert für den jeweiligen Unterabschnitt, für den sie definiert sind. |
FME_TRANSFORMATION_LOG_DIR <Logdatei-Verzeichnispfad> |
Gibt den Pfad zum Standardverzeichnis an, das die von der FME-Engine für diesen Unterabschnitt pro Übersetzung generierten Protokolldateien enthält. Standard:<FMEFlowDir>\Logs\<subsectionSpecificDir> |
MACRO_DEF <Makroname> <Makrowert>> |
Definiert einen Makrowert, der an die FME übermittelt wirdworkspace wenn die Übersetzung durchgeführt wird. Der erste Parameter<Makroname> gibt den Namen des Makros an. Alle Token bis zur nächsten Anweisung oder zum Ende derUNTERABSCHNITT Definition bilden den Wert für<Makrowert>. Sie können Makroreferenzen verschachteln. Wenn Makros definiert sind, können sie in Erfolgs- und Fehlerantwortzeichenfolgen verwendet werden. Dabei wird die Pseudovariablensyntax (!macroName!) verwendet. Einige Unterabschnitte der FME Engine definieren ein spezielles Makro namensFME_SERVER_DEST_DIR dessen Wert als Pfad zu einem eindeutigen, vom System generierten Verzeichnis festgelegt ist. Dieses Verzeichnis soll als Ausgabeort für Übersetzungsergebnisdateien verwendet werden. WorkspaceAutoren können auf diesen Wert als veröffentlichten Parameter verweisen und ihn als klar definierten Speicherort für Zieldatensätze verwenden. |
Antwortnachrichten ERFOLGREICHE ANTWORT FEHLERANTWORT |
DerERFOLGREICHE ANTWORT UndFEHLERANTWORT -Direktiven definieren die Nachrichtenzeichenfolge, die von der FME-Engine für erfolgreiche bzw. fehlgeschlagene Übersetzungen zurückgegeben wird. Diese Anweisungen stellen den Mechanismus bereit, mit dem die FME-Engine Ergebnisse an den Client zurückmeldet. Der Inhalt dieser Antwortnachrichten ist nur für den Client von Bedeutung. Die FME-Engine gibt die Nachricht einfach wie definiert an den Client zurück, der sie dann auf die von ihm gewählte Weise verarbeitet. Die Nachricht kann die vordefinierten Pseudovariablen und mehrere andere Anweisungen enthalten. |