Verwenden von cURL mit AEM
- Themen:
- Administering
Erstellt für:
- Admin
Administratoren müssen häufig auftretende Aufgaben in jedem System automatisieren oder vereinfachen. In AEM sind beispielsweise die Verwaltung von Benutzern, die Installation von Paketen und die Verwaltung von OSGi-Bundles Aufgaben, die häufig durchgeführt werden müssen.
Da das Sling-Framework, auf dem AEM aufsetzt, auf dem RESTful-Prinzip basiert, lässt sich fast jede Aufgabe mit einem URL-Aufruf erledigen. cURL kann verwendet werden, um solche URL-Aufrufe auszuführen, und kann ein nützliches Tool für AEM Administratoren sein.
Was ist cURL
Bei cURL handelt es sich um ein Open-Source-Befehlszeilen-Tool für die URL-Manipulation. Es unterstützt zahlreiche Internetprotokolle, darunter HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP und RTSP.
cURL ist ein bewährtes und weit verbreitetes Tool zum Abrufen oder Senden von Daten mithilfe der URL-Syntax und wurde ursprünglich 1997 veröffentlicht. Der Name "cURL"bedeutete ursprünglich "see URL".
Aufgrund der RESTful-Eigenschaft des Sling-Frameworks, auf dem AEM erstellt wird, können die meisten Aufgaben auf einen URL-Aufruf reduziert werden, der mit cURL ausgeführt werden kann. Aufgaben zur Inhaltsbearbeitung wie das Aktivieren von Seiten und das Starten von Workflows sowie operative Aufgaben z. B. Paketverwaltung und Benutzerverwaltung können mithilfe von cURL automatisiert werden. Darüber hinaus können Sie Erstellen einer eigenen cURL -Befehle für die meisten Aufgaben in AEM.
Herunterladen von cURL
cURL ist ein Standardteil von macOS und einigen Linux-Distributionen. Es ist jedoch für die meisten Betriebssysteme verfügbar. Die aktuellen Downloads finden Sie unter https://curl.haxx.se/download.html.
Das Quell-Repository von cURL finden Sie auch auf GitHub.
Erstellen eines cURL-fähigen AEM-Befehls
cURL-Befehle können für die meisten Vorgänge in AEM erstellt werden, z. B. das Auslösen von Workflows, das Überprüfen von OSGi-Konfigurationen, das Auslösen von JMX-Befehlen, das Erstellen von Replikationsagenten und vieles mehr.
Um den exakten Befehl zu finden, den Sie für Ihre jeweilige Operation benötigen, müssen Sie die Entwicklertools in Ihrem Browser verwenden, um den Serveraufruf beim Ausführen des AEM zu erfassen.
In den folgenden Schritten wird beschrieben, wie Sie dies mit der Erstellung einer neuen Seite im Chrome-Browser durchführen.
-
Bereiten Sie die Aktion vor, die Sie in AEM aufrufen möchten. In diesem Beispiel sind wir am Ende des Assistenten Seite erstellen angekommen, haben jedoch noch nicht auf Erstellen geklickt.
-
Starten Sie die Entwicklertools und wählen Sie die Netzwerk Registerkarte. Klicken Sie auf Protokoll beibehalten vor dem Löschen der Konsole.
-
Klicken Erstellen im Seite erstellen -Assistenten, um den Workflow zu erstellen.
-
Klicken Sie mit der rechten Maustaste auf die resultierende POST und wählen Sie Kopieren -> Als cURL kopieren.
-
Kopieren Sie den cURL-Befehl in einen Texteditor. Entfernen Sie alle Header aus dem Befehl, die mit
-H
beginnen (im folgenden Screenshot in blauer Farbe hervorgehoben), und fügen Sie die korrekten Authentifizierungsparameter hinzu, z. B.-u <user>:<password>
. -
Führen Sie den cURL-Befehl über die Befehlszeile aus und zeigen Sie die Antwort an.
Allgemeine cURL-Befehle AEM
Im Folgenden finden Sie eine Liste AEM cURL-Befehle für allgemeine administrative und betriebliche Aufgaben.
localhost
an Port 4502
ausgeführt wird und den Benutzer admin
mit dem Kennwort admin
nutzt. Zusätzliche Befehlsplatzhalter werden in spitzen Klammern festgelegt.Paketverwaltung
Auflisten aller installierten Pakete
curl -u <user>:<password> http://<host>:<port>/crx/packmgr/service.jsp?cmd=ls
Erstellen eines Pakets
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=create -d packageName=<name> -d groupName=<name>
Vorschau eines Pakets anzeigen
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=preview
Paketinhalt auflisten
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/console.html/etc/packages/mycontent.zip?cmd=contents
Erstellen eines Pakets
curl -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=build
Umbrechen eines Pakets
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=rewrap
Umbenennen eines Pakets
curl -u <user>:<password> -X POST -Fname=<New Name> http://localhost:4502/etc/packages/<Group Name>/<Package Name>.zip/jcr:content/vlt:definition
Hochladen eines Pakets
curl -u <user>:<password> -F cmd=upload -F force=true -F package=@test.zip http://localhost:4502/crx/packmgr/service/.json
Installieren eines Pakets
curl -u <user>:<password> -F cmd=install http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Deinstallieren eines Pakets
curl -u <user>:<password> -F cmd=uninstall http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Löschen eines Pakets
curl -u <user>:<password> -F cmd=delete http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Herunterladen eines Pakets
curl -u <user>:<password> http://localhost:4502/etc/packages/my_packages/test.zip
User Management
Neuen Benutzer erstellen
curl -u <user>:<password> -FcreateUser= -FauthorizableId=hashim -Frep:password=hashim http://localhost:4502/libs/granite/security/post/authorizables
Neue Gruppe erstellen
curl -u <user>:<password> -FcreateGroup=group1 -FauthorizableId=testGroup1 http://localhost:4502/libs/granite/security/post/authorizables
Hinzufügen einer Eigenschaft zu einem vorhandenen Benutzer
curl -u <user>:<password> -Fprofile/age=25 http://localhost:4502/home/users/h/hashim.rw.html
Erstellen eines Benutzers mit einem Profil
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=hashimkhan -Frep:password=hashimkhan -Fprofile/gender=male http://localhost:4502/libs/granite/security/post/authorizables
Erstellen eines neuen Benutzers als Mitglied einer Gruppe
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=testuser -Frep:password=abc123 -Fmembership=contributor http://localhost:4502/libs/granite/security/post/authorizables
Einen Benutzer zu einer Gruppe hinzufügen
curl -u <user>:<password> -FaddMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
Einen Benutzer aus einer Gruppe entfernen
curl -u <user>:<password> -FremoveMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
Festlegen der Gruppenmitgliedschaft eines Benutzers
curl -u <user>:<password> -Fmembership=contributor -Fmembership=testgroup http://localhost:4502/home/users/t/testuser.rw.html
Löschen eines Benutzers
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/users/t/testuser
Eine Gruppe löschen
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/groups/t/testGroup
Sicherung
Detaillierte Informationen finden Sie unter Sichern und Wiederherstellen.
OSGi
Starten eines Bundles
curl -u <user>:<password> -Faction=start http://localhost:4502/system/console/bundles/<bundle-name>
Beenden eines Bundles
curl -u <user>:<password> -Faction=stop http://localhost:4502/system/console/bundles/<bundle-name>
Dispatcher
Cache invalidieren
curl -H "CQ-Action: Activate" -H "CQ-Handle: /content/test-site/" -H "CQ-Path: /content/test-site/" -H "Content-Length: 0" -H "Content-Type: application/octet-stream" http://localhost:4502/dispatcher/invalidate.cache
Cache entfernen
curl -H "CQ-Action: Deactivate" -H "CQ-Handle: /content/test-site/" -H "CQ-Path: /content/test-site/" -H "Content-Length: 0" -H "Content-Type: application/octet-stream" http://localhost:4502/dispatcher/invalidate.cache
Replikationsagent
Überprüfen des Status eines Agenten
curl -u <user>:<password> "http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json?agent=publish"
http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json?agent=publish
Löschen eines Agenten
curl -X DELETE http://localhost:4502/etc/replication/agents.author/replication99 -u <user>:<password>
Erstellen eines Agenten
curl -u <user>:<password> -F "jcr:primaryType=cq:Page" -F "jcr:content/jcr:title=new-replication" -F "jcr:content/sling:resourceType=/libs/cq/replication/components/agent" -F "jcr:content/template=/libs/cq/replication/templates/agent" -F "jcr:content/transportUri=http://localhost:4503/bin/receive?sling:authRequestLogin=1" -F "jcr:content/transportUser=admin" -F "jcr:content/transportPassword={DES}8aadb625ced91ac483390ebc10640cdf"http://localhost:4502/etc/replication/agents.author/replication99
Agent anhalten
curl -u <user>:<password> -F "cmd=pause" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
Löschen einer Agentenwarteschlange
curl -u <user>:<password> -F "cmd=clear" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
Communities
Zuweisen und Sperren von Abzeichen
Detaillierte Informationen finden Sie unter Vergabe von Bewertungen und Abzeichen in Communities.
Detaillierte Informationen finden Sie unter Grundlagen zu Bewertungen und Abzeichen.
Erneute MSRP-Indizierung
Detaillierte Informationen finden Sie unter MSRP – MongoDB Storage Resource Provider.
Sicherheit
Aktivieren und Deaktivieren von CRX DE Lite
Detaillierte Informationen finden Sie unter Aktivieren von CRXDE Lite in AEM.
Datenspeicherbereinigung
Detaillierte Informationen finden Sie unter Datenspeicherbereinigung.
Integrieren von Analytics und Target
Detaillierte Informationen finden Sie unter Opt-in für Adobe Analytics und Adobe Target.
Single Sign-On
Test-Header senden
Detaillierte Informationen finden Sie unter Single Sign-On.
Allgemeine Inhaltsbearbeitung AEM cURL-Befehle
Im Folgenden finden Sie eine Liste AEM cURL-Befehle zur Inhaltsbearbeitung.
localhost
an Port 4502
ausgeführt wird und den Benutzer admin
mit dem Kennwort admin
nutzt. Zusätzliche Befehlsplatzhalter werden in spitzen Klammern festgelegt.Seitenverwaltung
Seitenaktivierung
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="activate" http://localhost:4502/bin/replicate.json
Seitendeaktivierung
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="deactivate" http://localhost:4502/bin/replicate.json
Aktivieren eines Baumes
curl -u <user>:<password> -F cmd=activate -F ignoredeactivated=true -F onlymodified=true -F path=/content/geometrixx http://localhost:4502/etc/replication/treeactivation.html
Sperren einer Seite
curl -u <user>:<password> -X POST -F cmd="lockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
Seite entsperren
curl -u <user>:<password> -X POST -F cmd="unlockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
Kopieren einer Seite
curl -u <user>:<password> -F cmd=copyPage -F destParentPath=/path/to/destination/parent -F srcPath=/path/to/source/location http://localhost:4502/bin/wcmcommand
Workflows
Detaillierte Informationen finden Sie unter Programmgesteuerte Interaktion mit Workflows.
Sling Content
Erstellen eines Ordners
curl -u <user>:<password> -F jcr:primaryType=sling:Folder http://localhost:4502/etc/test
Knoten löschen
curl -u <user>:<password> -F :operation=delete http://localhost:4502/etc/test/test.properties
Verschieben von Knoten
curl -u <user>:<password> -F":operation=move" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
Knoten kopieren
curl -u <user>:<password> -F":operation=copy" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
Hochladen von Dateien mit Sling PostServlet
curl -u <user>:<password> -F"*=@test.properties" http://localhost:4502/etc/test
Hochladen von Dateien mit Sling PostServlet und Angeben des Knotennamens
curl -u <user>:<password> -F"test2.properties=@test.properties" http://localhost:4502/etc/test
Hochladen von Dateien, die einen Inhaltstyp angeben
curl -u <user>:<password> -F "*=@test.properties;type=text/plain" http://localhost:4502/etc/test
Asset-Bearbeitung
Detaillierte Informationen finden Sie unter Assets-HTTP-API.
Experience Manager
- Übersicht über die Administratorenanleitung
- Sites-Funktionen
- Website-Administration
- Wiederverwenden von Inhalten: Multi Site Manager und Live Copy
- Konsole „Live Copy-Übersicht“
- Konfigurieren der Synchronisierung von Live Copies
- Erstellen und Synchronisieren von Live Copies
- MSM-Rollout-Konflikte
- Best Practices für MSM
- Übersetzen von Inhalten für mehrsprachige Sites
- Verwalten von Übersetzungsprojekten
- Identifizieren zu übersetzender Inhalte
- Vorbereiten von Inhalten für die Übersetzung
- Erstellen eines Sprach-Stamms mithilfe der klassischen Benutzeroberfläche
- Herstellen einer Verbindung mit Microsoft Translator
- Konfigurieren des Frameworks für die Übersetzungsintegration
- Assistent „Sprachkopie erstellen“
- Verbesserungen an der Übersetzung
- Best Practices für die Übersetzung
- Konfigurationen und der Konfigurations-Browser
- Häufig gestellte Fragen (FAQ) zu AEM
- Betrieb
- Dashboards
- Vorgangs-Dashboard
- Sichern und Wiederherstellen
- Datenspeicherbereinigung
- Überwachen von Serverressourcen mit der JMX-Konsole
- Arbeiten mit Protokollen
- Konfigurieren des Rich-Text-Editors
- Konfigurieren der Videokomponente
- Der Bulk Editor
- Konfigurieren von E-Mail-Benachrichtigungen
- Konfigurieren von RTE für die Erstellung zugriffsbereiter Sites
- Der Link-Checker
- Beheben von Fehlern in AEM
- Auditprotokollwartung in AEM 6
- Bearbeiter
- Verwalten des Zugriffs auf Workflows
- Verwenden von cURL mit AEM
- Konfigurieren von Rückgängig-Vorgängen zur Seitenbearbeitung
- Proxyserver-Tool (proxy.jar)
- Konfigurieren von AEM-Apps
- Verwalten von Workflows
- Konfigurieren von Suchformularen
- Die Tools-Konsolen
- Reporting
- Verwalten der Workflow-Instanzen
- Konfigurieren von Layout-Container und Layout-Modus
- Aktivieren des Zugriffs auf die klassische Benutzeroberfläche
- Starten von Workflows
- Konfigurieren der Rich-Text-Editor-Plug-ins
- Admin Consoles
- Sicherheit
- Benutzerverwaltung und Sicherheit
- Verwaltung von Benutzern, Gruppen und Zugriffsrechten
- Sicherheitscheckliste
- OWASP – Top 10
- Ausführung von AEM im produktionsbereiten Modus
- Identitäts-Management
- Unterstützung der Adobe IMS-Authentifizierung und der Admin Console für AEM Managed Services
- Erstellen von geschlossenen Benutzergruppen
- Beheben von Serialisierungsproblemen in AEM
- Benutzersynchronisierung
- Unterstützung von Encapsulated Tokens
- Single Sign-On
- Prüfen von Benutzerverwaltungsvorgängen in AEM
- Die Funktion „SSL By Default“ (SSL als Standard)
- SAML 2.0-Authentifizierungs-Handler
- Geschlossene Benutzergruppen in AEM
- Granite-Vorgänge – Benutzer- und Gruppenverwaltung
- Aktivieren von CRXDE Lite in AEM
- Konfigurieren von LDAP mit AEM 6
- Konfigurieren des Administratorkennworts bei der Installation
- Dienstbenutzer in AEM
- Verschlüsselungsunterstützung für Konfigurationseigenschaften
- Handhabung von DSGVO-bezogenen Anfragen in AEM Foundation
- Content-Disposition-Filter
- Personalisierung
- eCommerce
- Integration
- Integrieren mit Services von Dritten
- Integration mit Salesforce
- Integrieren mit Adobe Target
- Integration mit Adobe Analytics
- Herstellen einer Verbindung mit Adobe Analytics und Erstellen von Frameworks
- Konfigurieren des Linktrackings für Adobe Analytics
- Zuordnen von Komponentendaten zu Adobe Analytics-Eigenschaften
- Konfigurieren von Videotracking für Adobe Analytics
- Bereitstellung von Inhalten per HTTP/2 – Häufig gestellte Fragen (FAQ)
- Fehlerbehebung bei der Adobe Campaign-Integration
- SharePoint Connector-Lizenzen, Urheberrechtsvermerke und Haftungsausschlüsse
- SharePoint-Connector
- Häufig gestellte Fragen zur Einstellung der Unterstützung für DHTML-Viewer
- Integration mit Adobe Campaign Classic
- Verwandte Community-Artikel
- Integrieren mit Adobe Campaign Standard
- Hinweis zum End of Life von Flash-Viewern
- Integration mit Adobe Creative Cloud
- Integrieren mit Adobe Dynamic Tag Management
- Opt-in für Adobe Analytics und Adobe Target
- AEM-Portale und Portlets
- Integrieren in Dynamic Media Classic
- Fehlerbehebung für Integrationsprobleme
- Integration mit BrightEdge Content Optimizer
- Best Practices für E-Mail-Vorlagen
- Catalog Producer
- Integrieren mit Silverpop Engage
- Integrieren mit Adobe Campaign
- Integration mit ExactTarget
- Analyse mit externen Anbietern
- Integrieren mit Adobe Marketing Cloud
- Manuelles Konfigurieren der Integration mit Adobe Target
- Voraussetzungen für die Integration mit Adobe Target
- Adobe Classifications
- Lösungsintegration
- Target-Integration mit Experience Fragments
- Best Practices
- Content Management