Fermer

mars 16, 2021

Automatisation AEM simplifiée avec cURL et RUBY


Les administrateurs ont souvent besoin d'automatiser ou de simplifier les tâches courantes au sein de n'importe quel système. Dans Adobe Experience Manager (AEM), la gestion des utilisateurs, l'installation des packages et la gestion des bundles OSGi font partie des tâches où l'automatisation est généralement requise.
En raison de la nature RESTful du framework Sling sur lequel AEM est construit, les tâches peuvent être réduites à un appel d'URL. cURL peut être utilisé pour exécuter de tels appels d'URL et peut être prouvé comme un outil utile pour l'automatisation dans un environnement AEM.

cURL signifie Client pour URL et est un outil de ligne de commande open source utilisé pour effectuer des manipulations d'URL. Il prend en charge un large éventail de protocoles Internet, notamment HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP et RTSP.
Initialement publié en 1997, cURL est un outil bien établi et largement utilisé pour fournir ou recevoir des données en utilisant la syntaxe URL.

cURL est fourni par défaut dans la plupart des systèmes, cependant, il peut être téléchargé et installé à partir du lien ici .
Les utilisateurs de Windows doivent s'assurer qu'ils ont ajouté la variable d'environnement «chemin» avec le chemin du chutier où cURL est installé. Le processus par étapes est mentionné ci-dessous.

  1. Ouvrez le menu Démarrer la recherche, tapez «env» et choisissez «Modifier les variables d'environnement système».
  2. Cliquez sur le bouton «Variable d'environnement».
  3. Sous «Variables système» »(La moitié inférieure), recherchez la ligne avec« Chemin »dans la première colonne et cliquez sur Modifier.
  4. L'interface utilisateur« Modifier la variable d'environnement »apparaîtra. Cliquez sur "Nouveau" et saisissez le nouveau chemin que vous souhaitez ajouter.

Etant donné qu'AEM suit l'architecture REST, cURL peut exécuter la plupart des tâches à l'aide d'un appel URL.
cURL peut être pratique pour les tâches de manipulation de contenu telles que comme l'activation des pages, le démarrage des flux de travail et des tâches opérationnelles telles que la gestion des packages et la gestion des utilisateurs. De plus, vous pouvez créer vos propres commandes cURL pour la plupart des tâches dans AEM.
Le lien officiel pour certaines commandes cURL AEM courantes est ici .
A aide-mémoire est également disponible pour référence.

Les commandes cURL peuvent être générées pour la plupart des opérations dans AEM, telles que le déclenchement de workflows, la vérification des configurations OSGi, le déclenchement de commandes JMX, la création d'agents de réplication, etc.
Pour trouver la commande exacte nécessaire pour un particulier , utilisez les outils de développement de votre navigateur pour capturer l'appel POST au serveur lorsque vous exécutez manuellement l'opération AEM.
Voyons maintenant comment créer la commande cURL pour donner un accès en lecture / modification spécifique au chemin à un utilisateur.

  1. Préparez l'action que vous souhaitez appeler dans AEM. Dans notre cas, nous avons procédé à la page / useradmin pour gérer les utilisateurs.
     Screenshot1-01 (1)
  2. Allez dans la console développeur ou faites un clic droit et sélectionnez inspecter puis allez dans l'onglet réseau.
     Screenshot2-02 (1)
  3. Sélectionnez les autorisations que vous souhaitez donner à l'utilisateur pour le chemin spécifié, puis cliquez sur Enregistrer. Ici, nous allons procéder avec les autorisations de lecture / modification pour le chemin / etc (observez l'appel POST).
     Screenshot3-03 (1)
  4. Copiez l'URL de l'appel POST dans la section d'en-tête. [19659017] Screenshot4-04  » width= »7228″ height= »3601″/>
    Demande de charge utile de la section de demande. Ce sera le paramètre de données pour notre commande cURL.

     Screenshot5-05

  5. Exécutez la commande cURL via la ligne de commande et affichez la réponse.

     6 "width =" 6791 "height =" 1315 "/></p data-recalc-dims=

     7" width = "7122" height = "4573" /> <br data-recalc-dims= 8

Bien que cURL soit l'outil incontournable pour les tests d'API d'administration dans AEM et dispose d'une grande documentation établie autour de lui, il a ses défauts en termes d'automatisation et la dépendance au shell. Ces failles peuvent créer des obstacles lors de l'écriture de scripts complexes et indépendants du serveur.

  • Types de charge utile de réponse incohérents
    Les types de réponse cURL varient en termes d'utilisation. Cela crée un manque d'uniformité lors de l'écriture de scripts qui utilisent des charges utiles de réponse. Comme vu dans le dernier exemple ci-dessus, la réponse pour l'autorisation de mise à jour était dans HTML .
    Cependant, la réponse pour l'activation d'un bundle OSGi, par exemple, est dans JSON . [19659027] 9 "width =" 6791 "height =" 730 "/>
    Et la réponse pour lister les paquets dans crx est dans XML .
     10
  • Codes d'état non fiables
    Certains des codes d'état renvoyés en tant que réponse ne sont pas toujours fiables. Voici quelques exemples:
    • http 200 avec un corps de réponse vide lorsque l'authentification n'est pas valide
    • http 200 avec un message d'erreur dans le corps de la réponse html lorsque l'ancien mot de passe est incorrect
  • Serverless
    cURL dépend de l'accès au shell et manque d'intégration avec les frameworks sans serveur .

Swagger AEM est une spécification OpenAPI pour Adobe Experience Manager, qui peut être utilisée pour générer des clients API dans 30 langages de programmation.
Ces clients API, à leur tour, sont utiles pour intégrer AEM avec un certain nombre de piles technologiques. De la configuration de la configuration OSGI à l'aide d'outils de provisionnement tels que Puppet, au déploiement de packages AEM à l'aide de la voix via l'Assistant Google. Les possibilités sont infinies. Ruby_aem est une option qui peut résoudre les problèmes d'AEM cURL.

  1. Conception orientée ressources
  2. Abstraction supplémentaire loin des points de terminaison
  3. Objets d'erreur et de réponse
  4. API personnalisées supplémentaires

Les étapes sont illustrés ci-dessous.
 11

Ruby_aem permet une meilleure gestion des résultats grâce à ses charges utiles de réponse uniformes qui sont analysées au préalable. De plus, il est sans point final.
 12 "width =" 7122 "height =" 7198 "/></p data-recalc-dims=

Une meilleure gestion des erreurs et des cas de bord nous permet d'écrire des scripts plus robustes. De plus, contrairement à cURL, ruby ​​est une première langage de programmation de classe qui nous donne beaucoup plus de flexibilité et de liberté.
 13

Ruby_aem n'est qu'une partie du support de bibliothèque client disponible pour Swagger_aem. Swagger_aem héberge également le support de java, python et javascript pour AEM.

  • Attendez que la page de connexion soit prête
  • Attendez que la vérification de l'état d'AEM soit réussie
  • Bundle start, stop
  • Propriété de configuration create
  • Réplication, réplication inversée, et fl ush agents créent, mettent à jour, suppriment
  • Utilisateur et groupe créent et suppriment
  • Ajouter un utilisateur et un groupe à un groupe
  • Nœud créer et supprimer
  • Package créer, mettre à jour, supprimer, télécharger, installer, désinstaller, répliquer, lister, versions
  • Path activate
  • Reposit ory block, unblock

Dans l'ensemble, cURL et Ruby_aem ont tous deux leur utilité dans AEM. Bien que cURL soit un outil beaucoup plus facile à prendre en main et à utiliser pour tester des API ou accéder à des URL, il fait encore défaut dans certains domaines. Pour une automatisation complexe, Ruby_aem fournit un pool d'utilitaires plus complet.

TROUVEZ-VOUS CECI UTILE? PARTAGEZ-LE




Source link