cURL gebruiken met AEM

LET OP

AEM 6.4 heeft het einde van de uitgebreide ondersteuning bereikt en deze documentatie wordt niet meer bijgewerkt. Raadpleeg voor meer informatie onze technische ondersteuningsperioden. Ondersteunde versies zoeken hier.

Beheerders moeten veelvoorkomende taken in elk systeem vaak automatiseren of vereenvoudigen. In AEM bijvoorbeeld, zijn het leiden van gebruikers, het installeren van pakketten, en het beheren van bundels OSGi taken die algemeen moeten worden gedaan.

Vanwege de RESTful-aard van het Sling-framework waarop AEM is gebouwd, kunnen de meeste taken worden uitgevoerd met een URL-aanroep. cURL kan worden gebruikt om dergelijke URL vraag uit te voeren en kan een nuttig hulpmiddel voor AEM beheerders zijn.

Wat is cURL

cURL is een opensource opdrachtregelprogramma voor het uitvoeren van URL-bewerkingen. Deze biedt ondersteuning voor een groot aantal internetprotocollen, waaronder HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP en RTSP.

cURL is een gevestigde en wijdverspreide hulpmiddel om gegevens te krijgen of te verzenden gebruikend de syntaxis URL en oorspronkelijk vrijgegeven in 1997. De naam cURL betekende oorspronkelijk "zie URL."

Vanwege de RESTful-aard van het Sling-framework waarop AEM is gebouwd, kunnen de meeste taken worden beperkt tot een URL-aanroep, die kan worden uitgevoerd met cURL. Taken voor het manipuleren van inhoud zoals het activeren van pagina's, het starten van workflows en operationele taken zoals pakketbeheer en het beheren van gebruikers kunnen worden geautomatiseerd met cURL. Bovendien kunt u zelf een cURL maken opdrachten voor de meeste taken in AEM.

OPMERKING

Elke AEM die via cURL wordt uitgevoerd, moet net als elke gebruiker worden geautoriseerd om te AEM. Alle ACLs en toegangsrechten worden gerespecteerd wanneer het gebruiken van cURL om een AEM bevel uit te voeren.

cURL downloaden

cURL is een standaardonderdeel van macOS en sommige Linux-distros. Deze is echter voor de meeste besturingssystemen beschikbaar. De meest recente downloads zijn te vinden op https://curl.haxx.se/download.html.

cURL's bronbewaarplaats kan ook op GitHub worden gevonden.

Een URL-klaar AEM-opdracht maken

cURL-opdrachten kunnen worden samengesteld voor de meeste bewerkingen in AEM, zoals workflows activeren, OSGi-configuraties controleren, JMX-opdrachten activeren, replicatieagents maken en nog veel meer.

Om het nauwkeurige bevel te vinden u voor uw bepaalde verrichting nodig hebt, moet u de ontwikkelaarshulpmiddelen in uw browser gebruiken om de vraag van de POST aan de server te vangen wanneer u het AEM bevel uitvoert.

In de volgende stappen wordt beschreven hoe u dit kunt doen door als voorbeeld een nieuwe pagina te maken in de Chrome-browser.

  1. Bereid de actie voor u binnen AEM wenst aan te halen. In dit geval hebben we tot het einde van de Pagina maken wizard, maar u hebt nog niet geklikt Maken.

    chlimage_1-66

  2. Start de ontwikkelaarsgereedschappen en selecteer de Netwerk tab. Klik op de knop Logbestand behouden voordat u de console wist.

    chlimage_1-67

  3. Klikken Maken in de Pagina maken om de workflow te maken.

  4. Klik met de rechtermuisknop op de resulterende POST en selecteer Kopiëren -> Kopiëren als cURL.

    chlimage_1-68

  5. Kopieer de opdracht cURL naar een teksteditor en verwijder alle headers uit de opdracht, die beginnen met -H (in de onderstaande afbeelding blauw gemarkeerd) en voeg de juiste verificatieparameter toe, zoals -u <user>:<password>.

    chlimage_1-69

  6. Voer de opdracht cURL uit via de opdrachtregel en bekijk de reactie.

    chlimage_1-70

Gemeenschappelijke operationele AEM cURL-opdrachten

Hier volgt een lijst met AEM cURL-opdrachten voor algemene beheertaken en operationele taken.

OPMERKING

In de volgende voorbeelden wordt ervan uitgegaan dat AEM wordt uitgevoerd localhost op poort 4502 en gebruikt de gebruiker admin met wachtwoord admin. Extra plaatsaanduidingen voor opdrachten worden ingesteld tussen punthaken.

Pakketbeheer

Alle geïnstalleerde pakketten weergeven

curl -u <user>:<password> http://<host>:<port>/crx/packmgr/service.jsp?cmd=ls

Een pakket maken

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>

Een voorbeeld van een pakket bekijken

curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=preview

Pakketinhoud weergeven

curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/console.html/etc/packages/mycontent.zip?cmd=contents

Een pakket maken

curl -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=build

Een pakket opnieuw inpakken

curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=rewrap

De naam van een pakket wijzigen

curl -u <user>:<password> -X POST -Fname=<New Name> http://localhost:4502/etc/packages/<Group Name>/<Package Name>.zip/jcr:content/vlt:definition

Een pakket uploaden

curl -u <user>:<password> -F cmd=upload -F force=true -F package=@test.zip http://localhost:4502/crx/packmgr/service/.json

Een pakket installeren

curl -u <user>:<password> -F cmd=install http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip

Een pakket verwijderen

curl -u <user>:<password> -F cmd=uninstall http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip

Een pakket verwijderen

curl -u <user>:<password> -F cmd=delete http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip

Een pakket downloaden

curl -u <user>:<password> http://localhost:4502/etc/packages/my_packages/test.zip

Gebruikersbeheer

Een nieuwe gebruiker maken

curl -u <user>:<password> -FcreateUser= -FauthorizableId=hashim -Frep:password=hashim http://localhost:4502/libs/granite/security/post/authorizables

Een nieuwe groep maken

curl -u <user>:<password> -FcreateGroup=group1 -FauthorizableId=testGroup1 http://localhost:4502/libs/granite/security/post/authorizables

Een eigenschap toevoegen aan een bestaande gebruiker

curl -u <user>:<password> -Fprofile/age=25 http://localhost:4502/home/users/h/hashim.rw.html

Een gebruiker met een profiel maken

curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=hashimkhan -Frep:password=hashimkhan -Fprofile/gender=male http://localhost:4502/libs/granite/security/post/authorizables

Een nieuwe gebruiker maken als lid van een groep

curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=testuser -Frep:password=abc123 -Fmembership=contributor http://localhost:4502/libs/granite/security/post/authorizables

Een gebruiker toevoegen aan een groep

curl -u <user>:<password> -FaddMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html

Een gebruiker uit een groep verwijderen

curl -u <user>:<password> -FremoveMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html

Gebruikersgroeplidmaatschap instellen

curl -u <user>:<password> -Fmembership=contributor -Fmembership=testgroup http://localhost:4502/home/users/t/testuser.rw.html

Een gebruiker verwijderen

curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/users/t/testuser

Een groep verwijderen

curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/groups/t/testGroup

Back-up

Zie Back-up en herstel voor meer informatie.

OSGi

Een bundel starten

curl -u <user>:<password> -Faction=start http://localhost:4502/system/console/bundles/<bundle-name>

Een bundel stoppen

curl -u <user>:<password> -Faction=stop http://localhost:4502/system/console/bundles/<bundle-name>

Dispatcher

De cache ongeldig maken

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

De cache verwijderen

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

Replication Agent

Controleer de Status van een Agent

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

Een agent verwijderen

curl -X DELETE http://localhost:4502/etc/replication/agents.author/replication99 -u <user>:<password>

Een agent maken

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

Een agent pauzeren

curl -u <user>:<password> -F "cmd=pause" -F "name=publish"  http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json

Wis een Rij van de Agent

curl -u <user>:<password> -F "cmd=clear" -F "name=publish"  http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json

Gemeenschappen

Badges toewijzen en intrekken

Zie Scores en badges van gemeenschappen voor meer informatie.

Zie Scores en Badges Essentials voor meer informatie.

MSRP opnieuw indexeren

Zie MSRP - MongoDB Storage Resource Provider voor meer informatie.

Beveiliging

CRX DE Lite in- en uitschakelen

Zie CRXDE Lite inschakelen in AEM voor meer informatie.

Opruimverzameling gegevensopslag

Zie Opruimverzameling gegevensopslag voor meer informatie.

Analyses en doelintegratie

Zie Opteren in Adobe Analytics en Adobe Target voor meer informatie.

Single Sign On

Testkop verzenden

Zie Single Sign On voor meer informatie.

Algemene AEM-URL-opdrachten voor het manipuleren van inhoud

Hier volgt een lijst met AEM cURL-opdrachten voor het manipuleren van inhoud.

OPMERKING

In de volgende voorbeelden wordt ervan uitgegaan dat AEM wordt uitgevoerd localhost op poort 4502 en gebruikt de gebruiker admin met wachtwoord admin. Extra plaatsaanduidingen voor opdrachten worden ingesteld tussen punthaken.

Paginabeheer

Paginaactivering

curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="activate" http://localhost:4502/bin/replicate.json

Deactivering van pagina

curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="deactivate" http://localhost:4502/bin/replicate.json

Boomactivering

curl -u <user>:<password> -F cmd=activate -F ignoredeactivated=true -F onlymodified=true -F path=/content/geometrixx http://localhost:4502/etc/replication/treeactivation.html

Pagina vergrendelen

curl -u <user>:<password> -X POST -F cmd="lockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand

Pagina ontgrendelen

curl -u <user>:<password> -X POST -F cmd="unlockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand

Pagina kopiëren

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

Zie Programmatische interactie met Workflows voor meer informatie.

Inhoud verkopen

Een map maken

curl -u <user>:<password> -F jcr:primaryType=sling:Folder http://localhost:4502/etc/test

Een knooppunt verwijderen

curl -u <user>:<password> -F :operation=delete http://localhost:4502/etc/test/test.properties

Een knooppunt verplaatsen

curl -u <user>:<password> -F":operation=move" -F":applyTo=/sourceurl"  -F":dest=/target/parenturl/" https://localhost:4502/content

Een knooppunt kopiëren

curl -u <user>:<password> -F":operation=copy" -F":applyTo=/sourceurl"  -F":dest=/target/parenturl/" https://localhost:4502/content

Bestanden uploaden met Sling PostServlet

curl -u <user>:<password> -F"*=@test.properties"  http://localhost:4502/etc/test

Bestanden uploaden met Sling PostServlet en door Node Name op te geven

curl -u <user>:<password> -F"test2.properties=@test.properties"  http://localhost:4502/etc/test

Bestanden uploaden die een inhoudstype opgeven

curl -u <user>:<password> -F "*=@test.properties;type=text/plain" http://localhost:4502/etc/test

Manipulatie van bedrijfsmiddelen

Zie Elementen HTTP-API voor meer informatie.

Op deze pagina