Téléchargement de fichiers vers plusieurs hôtes enregistrés avec un seul appel REST
Vous pouvez télécharger des fichiers d'un contrôleur de collectivité vers plusieurs hôtes enregistrés d'une collectivité en appelant l'API REST POST. Les opérations de transfert de fichiers ont lieu dans un connecteur REST IBM JMX.
Avant de commencer
Créez un contrôleur de collectivité. Voir Configuration d'une collectivité Liberty.
Enregistrez chaque ordinateur hôte distant avec le contrôleur de collectivité. Voir Enregistrement des ordinateurs hôte auprès d'une collectivité Liberty.
Procédure
- Facultatif : Pour en savoir plus sur les API REST, tapez https://nom_hôte_contrôleur:nom_port_contrôleur/IBMJMXConnectorREST/api dans votre navigateur et entrez l'ID et le mot de passe de l'administrateur du contrôleur pour vous connecter.
Le contrôleur doit être exécuté pour pouvoir afficher la documentation de l'API REST.
Les sections Transfert de fichier et Routage décrivent les API utilisées pour transférer des fichiers entre le contrôleur de collectivité et un serveur membre ou un hôte enregistré.
La fonction collectiveController-1.0 active la fonction restConnector-1.0, qui permet de transférer des fichiers. Ainsi, les contrôleurs de collectivité n'ont pas besoin de spécifier restConnector-1.0 dans un gestionnaire de fonctions pour afficher les API REST ou pour effectuer des opérations de transfert de fichiers. Une configuration de serveur autonome peut nécessiter la fonction restConnector-1.0 pour afficher les API REST.
- Répertoriez les hôtes cibles dans une en-tête HTTP pour le contrôleur de collectivité.
com.ibm.websphere.collective.hostNames=comma-separated_list_of_target_hosts
Vous pouvez également définir d'autres en-têtes HTTP :
- Indiquez si vous souhaitez effectuer le téléchargement des fichiers et l'action en mode asynchrone. La valeur par défaut est false. Pour modifier la valeur par défaut, définissez boolean sur true.
com.ibm.websphere.jmx.connector.rest.asyncExecution=boolean
- Spécifiez un ensemble d'actions à effectuer après le téléchargement du fichier. Une action intégrée existante, com.ibm.websphere.jmx.connector.rest.postTransferAction.join, joint les serveurs Liberty situés dans l'archive Liberty entrante à la collectivité. Utilisez l'en-tête pour afficher d'autres actions personnalisées. Si vous répertoriez plus d'une action personnalisée, délimitez l'action à l'aide d'une virgule encodée dans l'URL.
com.ibm.websphere.jmx.connector.rest.postTransferAction=comma-separated_list_of_actions
Pour activer les actions personnalisés, ajoutez la configuration suivante au fichier server.xml du contrôleur de collectivité :<hostAccess enableCustomActions="true" />
- Spécifiez une liste d'options à transmettre aux actions de post-transfert.
Cette liste d'options doit être nulle ou contenir le même nombre d'éléments de liste que la liste d'en-têtes postTransferAction, auquel cas l'index des éléments de chaque option doit correspondre à l'index de son action correspondante. Si vous répertoriez plus d'une option, délimitez l'action avec une virgule encodée dans l'URL.
com.ibm.websphere.jmx.connector.rest.postTransferAction.options=comma-separated_list_of_options
Si vous spécifiez l'action intégrée com.ibm.websphere.jmx.connector.rest.postTransferAction.join, l'option correspondante doit être :
--user=adminUser --password=adminPw --keystorePassword=keystorePw [--rpcUser=rpcUser --rpcPassword=rpcPw]
- Spécifiez les variables d'environnement à définir avant d'exécuter des actions de transfert. Le contenu de l'en-tête est un objet JSON où chaque clé JSON est une variable d'environnement et chaque valeur JSON est sa valeur correspondante. Si vous spécifiez des chemins de système, utilisez des barres obliques (/).
com.ibm.websphere.jmx.connector.rest.transferEnvVars=list_of_environment_variables
- Indiquez si vous souhaitez effectuer le téléchargement des fichiers et l'action en mode asynchrone. La valeur par défaut est false. Pour modifier la valeur par défaut, définissez boolean sur true.
- Téléchargez un fichier via l'opération POST vers plusieurs hôtes enregistrés.
- Vérifiez que l'emplacement cible réside sur un répertoire accessible en écriture configurable sur les hôtes.
- Appelez l'opération POST.
POST https://controller_host:controller_port/IBMJMXConnectorREST/file/{filePath}[?expandOnCompletion=boolean&local=boolean]
- {cheminFichier} est un chemin absolu encodé dans l'URL au format UTF-8 qui indique l'emplacement cible. Par exemple, si le fichier est C:/temp/myFile.txt, le chemin est C%3A%2Ftemp%2FmyFile.txt.
- expandOnCompletion est un paramètre de requête facultatif qui active une extension automatique de l'archive téléchargée. La valeur par défaut est false.
- local est un paramètre de requête facultatif qui spécifie si le fichier à télécharger se trouve déjà dans le contrôleur. Si cette valeur indique true, le contenu de cette requête POST est une chaîne représentant l'emplacement du fichier source dans le contrôleur. La valeur par défaut est false.
- Si le paramètre de requête local n'est pas utilisé, ou défini explicitement à false, le contenu POST est le contenu binaire du fichier source lui-même.
Que faire ensuite
Obtenez l'état ou les détails de l'appel REST. Voir Obtention de l'état sur un appel REST pour plusieurs hôtes enregistrés.

Nom du fichier : twlp_collective_file_transfer_multihost.html