Verwenden von cURL mit AEM

VORSICHT

AEM 6.4 hat das Ende der erweiterten Unterstützung erreicht und diese Dokumentation wird nicht mehr aktualisiert. Weitere Informationen finden Sie in unserer technische Unterstützung. Unterstützte Versionen suchen here.

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.

HINWEIS

Jeder AEM Befehl, der über cURL ausgeführt wird, muss genau wie jeder Benutzer zu AEM autorisiert werden. Alle ACLs und Zugriffsberechtigungen werden beachtet, wenn cURL zum Ausführen eines AEM Befehls verwendet wird.

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.

  1. 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.

    chlimage_1-66

  2. Starten Sie die Entwicklertools und wählen Sie die Netzwerk Registerkarte. Klicken Sie auf Protokoll beibehalten vor dem Löschen der Konsole.

    chlimage_1-67

  3. Klicken Erstellen im Seite erstellen -Assistenten, um den Workflow zu erstellen.

  4. Klicken Sie mit der rechten Maustaste auf die resultierende POST und wählen Sie Kopieren -> Als cURL kopieren.

    chlimage_1-68

  5. 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>.

    chlimage_1-69

  6. Führen Sie den cURL-Befehl über die Befehlszeile aus und zeigen Sie die Antwort an.

    chlimage_1-70

Allgemeine cURL-Befehle AEM

Im Folgenden finden Sie eine Liste AEM cURL-Befehle für allgemeine administrative und betriebliche Aufgaben.

HINWEIS

Bei den folgenden Beispielen wird vorausgesetzt, dass AEM auf dem 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.

HINWEIS

Bei den folgenden Beispielen wird vorausgesetzt, dass AEM auf dem 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.

Auf dieser Seite