Dateien mit einem einzigen REST-Aufruf auf mehrere registrierte Hosts hochladen
Sie können Dateien von einem Verbundcontroller auf mehrere registrierte Hosts eines Verbunds hochladen, indem Sie die REST-API POST aufrufen. Die Dateiübertragungsoperationen finden innerhalb eines IBM JMX-REST-Connectors statt.
Vorbereitende Schritte
Erstellen Sie einen Verbundcontroller. Nähere Informationen hierzu finden Sie unter Liberty-Verbund konfigurieren.
Registrieren Sie jeden fernen Host-Computer beim Verbundcontroller. Informationen hierzu finden Sie unter Host-Computer bei einem Liberty-Verbund registrieren.
Vorgehensweise
- Optional: Um die Dokumentation zu den REST-APIs zu lesen, navigieren Sie in Ihrem Browser zu
https://Name_des_Controller-Hosts:Name_des_Controller-Ports/IBMJMXConnectorREST/api
und geben Sie dann zur Anmeldung die Benutzer-ID und das Kennwort des Controlleradministrators ein.
Der Controller muss aktiv sein, damit die Dokumentation zu den REST-APIs angezeigt werden kann.
In den Abschnitten Dateiübertragung und Routing sind die APIs beschrieben, die zur Übertragung von Dateien zwischen dem Verbundcontroller und einem Member-Server oder einem registrierten Host verwendet werden.
Das Feature collectiveController-1.0 aktiviert das Feature restConnector-1.0, das die Dateiübertragungsfunktion bereitstellt. Deshalb müssen Verbundcontroller restConnector-1.0 nicht in einem Feature-Manager angeben, um die REST-APIs anzuzeigen oder Dateiübertragungsoperationen auszuführen. In einer eigenständigen Serverkonfiguration kann das Feature restConnector-1.0 zum Anzeigen der REST-APIs erforderlich sein.
- Listen Sie die Zielhosts in einem HTTP-Header für den Verbundcontroller auf.
com.ibm.websphere.collective.hostNames=durch_Kommas_getrennte_Liste_mit_Zielhosts
Definieren Sie optional weitere HTTP-Header:
- Geben Sie an, ob die Dateiuploads und die Aktion asynchron ausgeführt werden sollen.
Die Standardeinstellung ist false. Zum Ändern der Standardeinstellung geben Sie
true für boolean an.
com.ibm.websphere.jmx.connector.rest.asyncExecution=Boolean
- Geben Sie eine Gruppe von Aktionen an, die nach den Dateiuploads ausgeführt werden sollen.
Eine vorhandene integrierte Aktion ist com.ibm.websphere.jmx.connector.rest.postTransferAction.join,
die die Liberty-Server im eingehenden Liberty-Archiv mit dem Verbund verknüpft. Verwenden Sie den Header,
um weitere angepasste Aktionen aufzulisten. Wenn Sie mehr als eine angepasste Aktion auflisten, begrenzen Sie die Aktion mit einem URL-codierten Komma.
com.ibm.websphere.jmx.connector.rest.postTransferAction=durch_Kommas_getrennte_Liste_von_Aktionen
Zum Aktivieren der angepassten Aktionen fügen Sie der Datei server.xml des Verbundcontrollers die folgende Konfiguration hinzu:<hostAccess enableCustomActions="true" />
- Geben Sie eine Liste mit Optionen an, die an die nach der Übertragung durchzuführenden Aktionen übergeben werden sollen.
Die Liste der Optionen muss null sein oder dieselbe Anzahl von Listeneinträgen wie die
postTransferAction-Headerliste enthalten, wobei der Eintragsindex jeder Option mit dem Index der entsprechenden Aktion übereinstimmen muss.
Wenn Sie mehr als eine Aktion auflisten, begrenzen Sie die Aktion mit einem URL-codierten Komma.
com.ibm.websphere.jmx.connector.rest.postTransferAction.options=durch_Kommas_getrennte_Liste_von_Aktionen
Wenn Sie die integrierte Aktion com.ibm.websphere.jmx.connector.rest.postTransferAction.join angeben, muss die entsprechende Option folgendermaßen lauten:
--user=Administrator --password=Administratorkennwort --keystorePassword=Keystore-Kennwort [--rpcUser=RPC-Benutzer --rpcPassword=RPC-Kennwort]
- Geben Sie die vor der Ausführung der Übertragungsaktionen auszuführenden Umgebungsvariablen an. Die Nutzdaten
des Headers sind ein JSON-Objekt, wobei jeder JSON-Schlüssel eine Umgebungsvariable und jeder JSON-Wert der Wert der Umgebungsvariablen ist. Wenn
Sie Systempfade angeben, verwenden Sie Schrägstriche (/).
com.ibm.websphere.jmx.connector.rest.transferEnvVars=Liste_der_Umgebungsvariablen
- Geben Sie an, ob die Dateiuploads und die Aktion asynchron ausgeführt werden sollen.
Die Standardeinstellung ist false. Zum Ändern der Standardeinstellung geben Sie
true für boolean an.
- Laden Sie mit der Operation POST eine Datei auf mehrere registrierte Hosts hoch.
- Stellen Sie sicher, dass sich die Zielposition in einem konfigurierbaren beschreibbaren Verzeichnis der Hosts befindet.
- Rufen Sie die Operation POST auf.
POST https://Controller-Host:Controller-Port/IBMJMXConnectorREST/file/{Dateipfad}[?expandOnCompletion=Boolean&local=Boolean]
- {Dateipfad} steht für einen UTF-8-URL-codierten absoluten Pfad, der die Zielposition angibt. Wenn die Datei beispielsweise den Namen C:/temp/myFile.txt hat, ist der Pfad C%3A%2Ftemp%2FmyFile.txt.
- expandOnCompletion ist ein optionaler Abfrageparameter, der die automatische Erweiterung des hochgeladenen Archivs aktiviert bzw. inaktiviert. Der Standardwert ist false.
- local ist ein optionaler Abfrageparameter, der angibt, ob sich die hochzuladende Datei bereits im Controller befindet. Ist der Wert "true" sind die Nutzdaten dieser POST-Anforderung eine Zeichenfolge, die die Quellendateiposition im Controller darstellt. Der Standardwert ist false.
- Wenn der Abfrageparameter local nicht verwendet oder explizit auf "false" gesetzt wird, sind die POST-Nutzdaten der binäre Inhalt der Quellendatei selbst.
Nächste Schritte
Rufen Sie Status- oder Detailinformationen zum REST-Aufruf ab. Informationen hierzu finden Sie unter Status eines REST-Aufrufs für mehrere registrierte Hosts abrufen.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_collective_file_transfer_multihost
Dateiname: twlp_collective_file_transfer_multihost.html