Använda cURL med AEM using-curl-with-aem
Administratörer behöver ofta automatisera eller förenkla vanliga uppgifter i alla system. I AEM är till exempel hantering av användare, installation av paket och hantering av OSGi-paket uppgifter som måste utföras ofta.
På grund av Sling-ramverkets RESTful-karaktär, som AEM bygger på, kan de flesta åtgärder utföras med ett URL-anrop. cURL kan användas för att köra sådana URL-anrop och kan vara ett användbart verktyg för AEM administratörer.
Vad är cURL? what-is-curl
cURL är ett kommandoradsverktyg med öppen källkod som används för att utföra URL-ändringar. Den stöder ett brett spektrum av Internetprotokoll, inklusive HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP och RTSP.
cURL är ett väletablerat och allmänt använt verktyg för att hämta och skicka data med URL-syntaxen och släpptes ursprungligen 1997. Namnet cURL innebar ursprungligen "se URL".
På grund av Sling-ramverkets RESTful-karaktär, som AEM bygger på, kan de flesta åtgärder minskas till ett URL-anrop, som kan köras med cURL. Åtgärder för innehållsmanipulering som att aktivera sidor och starta arbetsflöden samt operativa uppgifter som pakethantering och hantering av användare kan automatiseras med cURL. Dessutom kan du skapa en egen cURL -kommandon för de flesta åtgärder i AEM.
Hämtar cURL downloading-curl
cURL är en standarddel av macOS och vissa Linux-miljöer. Det finns dock för de flesta operativsystem. De senaste nedladdningarna finns på https://curl.haxx.se/download.html.
Källdatabasen för cURL finns även på GitHub.
Skapa ett cURL-klart AEM building-a-curl-ready-aem-command
cURL-kommandon kan byggas för de flesta åtgärder i AEM, som att utlösa arbetsflöden, kontrollera OSGi-konfigurationer, utlösa JMX-kommandon, skapa replikeringsagenter och mycket annat.
Om du vill hitta exakt det kommando som du behöver för en viss åtgärd måste du använda utvecklarverktygen i webbläsaren för att fånga upp anropet till POSTEN när du kör AEM.
I följande steg beskrivs hur du gör detta genom att skapa en ny sida i webbläsaren Chrome.
-
Förbered den åtgärd som du vill anropa inom AEM. I det här fallet har vi gått till slutet av Skapa sida guide, men ännu inte klickat Skapa.
-
Starta utvecklarverktygen och välj Nätverk -fliken. Klicka på Bevara logg innan du rensar konsolen.
-
Klicka Skapa i Skapa sida guide för att skapa arbetsflödet.
-
Högerklicka på den slutliga POSTEN och markera Kopiera -> Kopiera som cURL.
-
Kopiera kommandot cURL till en textredigerare och ta bort alla rubriker från kommandot som börjar med
-H
(markerat med blått i bilden nedan) och lägg till rätt autentiseringsparameter som-u <user>:<password>
. -
Kör kommandot cURL via kommandoraden och visa svaret.
Vanliga AEM cURL-kommandon common-operational-aem-curl-commands
Här är en lista AEM cURL-kommandon för vanliga administrativa och operativa uppgifter.
localhost
på port 4502
och använder användaren admin
med lösenord admin
. Ytterligare kommandoplatshållare anges inom vinkelparenteser.Pakethantering package-management
Visa alla installerade paket
curl -u <user>:<password> http://<host>:<port>/crx/packmgr/service.jsp?cmd=ls
Skapa ett paket create-a-package
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>
Förhandsgranska ett paket preview-a-package
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=preview
Innehåll i listpaket list-package-content
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/console.html/etc/packages/mycontent.zip?cmd=contents
Skapa ett paket build-a-package
curl -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=build
Radbryt ett paket rewrap-a-package
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=rewrap
Byta namn på ett paket rename-a-package
curl -u <user>:<password> -X POST -Fname=<New Name> http://localhost:4502/etc/packages/<Group Name>/<Package Name>.zip/jcr:content/vlt:definition
Överföra ett paket upload-a-package
curl -u <user>:<password> -F cmd=upload -F force=true -F package=@test.zip http://localhost:4502/crx/packmgr/service/.json
Installera ett paket install-a-package
curl -u <user>:<password> -F cmd=install http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Avinstallera ett paket uninstall-a-package
curl -u <user>:<password> -F cmd=uninstall http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Ta bort ett paket delete-a-package
curl -u <user>:<password> -F cmd=delete http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Hämta ett paket download-a-package
curl -u <user>:<password> http://localhost:4502/etc/packages/my_packages/test.zip
Användarhantering user-management
Skapa en ny användare create-a-new-user
curl -u <user>:<password> -FcreateUser= -FauthorizableId=hashim -Frep:password=hashim http://localhost:4502/libs/granite/security/post/authorizables
Skapa en ny grupp create-a-new-group
curl -u <user>:<password> -FcreateGroup=group1 -FauthorizableId=testGroup1 http://localhost:4502/libs/granite/security/post/authorizables
Lägg till en egenskap för en befintlig användare add-a-property-to-an-existing-user
curl -u <user>:<password> -Fprofile/age=25 http://localhost:4502/home/users/h/hashim.rw.html
Skapa en användare med en profil create-a-user-with-a-profile
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=hashimkhan -Frep:password=hashimkhan -Fprofile/gender=male http://localhost:4502/libs/granite/security/post/authorizables
Skapa en ny användare som medlem i en grupp create-a-new-user-as-a-member-of-a-group
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=testuser -Frep:password=abc123 -Fmembership=contributor http://localhost:4502/libs/granite/security/post/authorizables
Lägga till en användare i en grupp add-a-user-to-a-group
curl -u <user>:<password> -FaddMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
Ta bort en användare från en grupp remove-a-user-from-a-group
curl -u <user>:<password> -FremoveMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
Ange användarens gruppmedlemskap set-a-user-s-group-membership
curl -u <user>:<password> -Fmembership=contributor -Fmembership=testgroup http://localhost:4502/home/users/t/testuser.rw.html
Ta bort en användare delete-a-user
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/users/t/testuser
Ta bort en grupp delete-a-group
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/groups/t/testGroup
Säkerhetskopiering backup
Se Säkerhetskopiering och återställning för mer information.
OSGi osgi
Starta ett paket starting-a-bundle
curl -u <user>:<password> -Faction=start http://localhost:4502/system/console/bundles/<bundle-name>
Stoppa ett paket stopping-a-bundle
curl -u <user>:<password> -Faction=stop http://localhost:4502/system/console/bundles/<bundle-name>
Dispatcher dispatcher
Förvräng cachen invalidate-the-cache
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
Evict the Cache evict-the-cache
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
Replikeringsagent replication-agent
Kontrollera status för en agent check-the-status-of-an-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
Ta bort en agent delete-an-agent
curl -X DELETE http://localhost:4502/etc/replication/agents.author/replication99 -u <user>:<password>
Skapa en agent create-an-agent
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
Pausa en agent pause-an-agent
curl -u <user>:<password> -F "cmd=pause" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
Rensa en agentkö clear-an-agent-queue
curl -u <user>:<password> -F "cmd=clear" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
Communities communities
Tilldela och återkalla märken assign-and-revoke-badges
Se Communities Scoring and Badges för mer information.
Se Grundläggande om poäng och emblem för mer information.
MSRP-omindexering msrp-reindexing
Se MSRP - lagringsresursprovider för MongoDB för mer information.
Dokumentskydd security
Aktivera och inaktivera CRX DE Lite enabling-and-disabling-crx-de-lite
Se Aktivera CRXDE Lite i AEM för mer information.
Skräpinsamling för datalager data-store-garbage-collection
Se Skräpinsamling för datalager för mer information.
Analys och målintegrering analytics-and-target-integration
Se Ingå i Adobe Analytics och Adobe Target för mer information.
Enkel inloggning single-sign-on
Skicka testhuvud send-test-header
Se Enkel inloggning för mer information.
Vanlig innehållshantering AEM cURL-kommandon common-content-manipulation-aem-curl-commands
Här är en lista AEM cURL-kommandon för innehållsändring.
localhost
på port 4502
och använder användaren admin
med lösenord admin
. Ytterligare kommandoplatshållare anges inom vinkelparenteser.Sidhantering page-management
Sidaktivering page-activation
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="activate" http://localhost:4502/bin/replicate.json
Inaktivering av sida page-deactivation
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="deactivate" http://localhost:4502/bin/replicate.json
Aktivering av träd tree-activation
curl -u <user>:<password> -F cmd=activate -F ignoredeactivated=true -F onlymodified=true -F path=/content/geometrixx http://localhost:4502/etc/replication/treeactivation.html
Lås sida lock-page
curl -u <user>:<password> -X POST -F cmd="lockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
Lås upp sida unlock-page
curl -u <user>:<password> -X POST -F cmd="unlockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
Kopiera sida copy-page
curl -u <user>:<password> -F cmd=copyPage -F destParentPath=/path/to/destination/parent -F srcPath=/path/to/source/location http://localhost:4502/bin/wcmcommand
Arbetsflöden workflows
Se Interagera med arbetsflöden programmatiskt för mer information.
Sling Content sling-content
Skapa en mapp create-a-folder
curl -u <user>:<password> -F jcr:primaryType=sling:Folder http://localhost:4502/etc/test
Ta bort en nod delete-a-node
curl -u <user>:<password> -F :operation=delete http://localhost:4502/etc/test/test.properties
Flytta en nod move-a-node
curl -u <user>:<password> -F":operation=move" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
Kopiera en nod copy-a-node
curl -u <user>:<password> -F":operation=copy" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
Överför filer med Sling PostServlet upload-files-using-sling-postservlet
curl -u <user>:<password> -F"*=@test.properties" http://localhost:4502/etc/test
Överför filer med Sling PostServlet och ange nodnamn upload-files-using-sling-postservlet-and-specifying-node-name
curl -u <user>:<password> -F"test2.properties=@test.properties" http://localhost:4502/etc/test
Överför filer som anger en innehållstyp upload-files-specifying-a-content-type
curl -u <user>:<password> -F "*=@test.properties;type=text/plain" http://localhost:4502/etc/test
Tillgångshantering asset-manipulation
Se Resurser för HTTP API för mer information.