cURL gebruiken met AEM

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. Met cURL kunnen taken voor het manipuleren van inhoud worden geautomatiseerd, zoals het activeren van pagina's, het starten van workflows en operationele taken, zoals pakketbeheer en het beheren van gebruikers. Bovendien kunt u uw eigen cURL bevelen voor de meeste taken in AEM tot stand brengen.

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.

URL downloaden

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

cURL's bronbewaarplaats kan ook op GitHub worden gevonden.

Een AEM maken die geschikt is voor cURL

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 wij aan het eind van Create Pagina tovenaar in gang gezet, maar nog niet Create geklikt.

    chlimage_1-66

  2. Start de ontwikkelaarsgereedschappen en selecteer het tabblad Netwerk. Klik op de optie Logbestand behouden voordat u de console wist.

    chlimage_1-67

  3. Klik Create in Create Page tovenaar om de werkstroom eigenlijk tot stand te brengen.

  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 koppen 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 op localhost op poort 4502 wordt uitgevoerd en de gebruiker admin met wachtwoord admin wordt gebruikt. 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 pakket voorvertonen

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

Inhoud van pakket 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 omsluiten

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

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

Nieuwe gebruiker maken

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

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 maken met een profiel

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

Groepslidmaatschap van een gebruiker 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>

Verzending

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 uitpakken

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 van gemeenschappen en Badges voor meer informatie.

Zie Scoring en Badges Essentials voor meer informatie.

MSRP opnieuw indexeren

Zie MSRP - MongoDB Storage Resource Provider voor meer informatie.

Beveiliging

CRX DE Lite inschakelen en uitschakelen

Zie CRXDE Lite inschakelen in AEM voor meer informatie.

Afvalverzameling gegevensopslag

Zie Gegevensopslag opschonen voor meer informatie.

Analyse en doelintegratie

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

Enkelvoudige aanmelding

Testkop verzenden

Zie Single Sign On voor meer informatie.

Gemeenschappelijke Inhoud Manipulation AEM cURL-opdrachten

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

OPMERKING

In de volgende voorbeelden wordt ervan uitgegaan dat AEM op localhost op poort 4502 wordt uitgevoerd en de gebruiker admin met wachtwoord admin wordt gebruikt. 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 Interactie met Workflows programmatisch voor meer informatie.

Inhoud afspelen

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 het opgeven van de knooppuntnaam

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 van HTTP API voor meer informatie.

Op deze pagina