Använda cURL med AEM using-curl-with-aem

CAUTION
AEM 6.4 har nått slutet på den utökade supporten och denna dokumentation är inte längre uppdaterad. Mer information finns i teknisk supportperiod. Hitta de versioner som stöds här.

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.

NOTE
Alla AEM som utförs via cURL måste godkännas precis som alla andra användare som ska AEM. Alla åtkomstkontrollistor och åtkomsträttigheter respekteras när cURL används för att köra ett 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.

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

    chlimage_1-66

  2. Starta utvecklarverktygen och välj Nätverk -fliken. Klicka på Bevara logg innan du rensar konsolen.

    chlimage_1-67

  3. Klicka Skapa i Skapa sida guide för att skapa arbetsflödet.

  4. Högerklicka på den slutliga POSTEN och markera Kopiera -> Kopiera som cURL.

    chlimage_1-68

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

    chlimage_1-69

  6. Kör kommandot cURL via kommandoraden och visa svaret.

    chlimage_1-70

Vanliga AEM cURL-kommandon common-operational-aem-curl-commands

Här är en lista AEM cURL-kommandon för vanliga administrativa och operativa uppgifter.

NOTE
I följande exempel antas att AEM körs på 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.

NOTE
I följande exempel antas att AEM körs på 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.

recommendation-more-help
5ce3024a-cbea-458b-8b2f-f9b8dda516e8