Utilizzo di cURL con AEM using-curl-with-aem
Gli amministratori spesso devono automatizzare o semplificare le attività comuni all’interno di qualsiasi sistema. In AEM, ad esempio, la gestione degli utenti, l’installazione dei pacchetti e la gestione dei bundle OSGi sono attività che devono essere eseguite comunemente.
A causa della natura RESTful del framework Sling su cui viene generato l’AEM, la maggior parte delle attività può essere eseguita con una chiamata URL. cURL può essere utilizzato per eseguire tali chiamate URL e può essere uno strumento utile per gli amministratori di AEM.
Cos’è cURL what-is-curl
cURL è uno strumento da riga di comando open-source utilizzato per eseguire manipolazioni URL. Supporta un'ampia gamma di protocolli Internet, tra cui HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DAP, DICT, TELNET, FILE, IMAP, POP3, SMTP e RTSP.
cURL è uno strumento consolidato e ampiamente utilizzato per ottenere o inviare dati utilizzando la sintassi URL ed è stato originariamente rilasciato nel 1997. Il nome cURL originariamente significava "vedi URL".
A causa della natura RESTful del framework Sling su cui viene generato l’AEM, la maggior parte delle attività può essere ridotta a una chiamata URL, che può essere eseguita con cURL. Attività di manipolazione dei contenuti , ad esempio l'attivazione delle pagine e l'avvio di flussi di lavoro e compiti operativi come la gestione dei pacchetti e la gestione degli utenti possono essere automatizzati utilizzando cURL. Inoltre, è possibile: crea il tuo cURL comandi per la maggior parte delle attività dell'AEM.
Download di cURL downloading-curl
cURL è una parte standard di macOS e di alcune distribuzioni Linux. Tuttavia, è disponibile per la maggior parte dei sistemi operativi. Gli ultimi download sono disponibili sul sito https://curl.haxx.se/download.html.
L’archivio di origine di cURL si trova anche su GitHub.
Creazione di un comando AEM predisposto per cURL building-a-curl-ready-aem-command
I comandi cURL possono essere generati per la maggior parte delle operazioni in AEM, come l’attivazione dei flussi di lavoro, la verifica delle configurazioni OSGi, l’attivazione dei comandi JMX, la creazione degli agenti di replica e molto altro.
Per trovare il comando esatto necessario per l’operazione specifica, è necessario utilizzare gli strumenti di sviluppo nel browser per acquisire la chiamata POST al server quando si esegue il comando AEM.
I passaggi seguenti descrivono come eseguire questa operazione utilizzando come esempio la creazione di una nuova pagina all’interno del browser Chrome.
-
Prepara l’azione che desideri invocare all’interno dell’AEM. In questo caso, siamo giunti alla fine del Crea pagina , ma non hanno ancora fatto clic su Crea.
-
Avvia gli strumenti per sviluppatori e seleziona la Rete scheda. Fai clic su Mantieni registro prima di cancellare la console.
-
Clic Crea nel Crea pagina per creare effettivamente il flusso di lavoro.
-
Fai clic con il pulsante destro del mouse sull’azione POST risultante e seleziona Copia > Copia come cURL.
-
Copiare il comando cURL in un editor di testo e rimuovere tutte le intestazioni dal comando, che inizia con
-H
(evidenziato in blu nell’immagine seguente) e aggiungi il parametro di autenticazione corretto, ad esempio-u <user>:<password>
. -
Esegui il comando cURL tramite la riga di comando e visualizza la risposta.
Comandi cURL operativi comuni per AEM common-operational-aem-curl-commands
Elenco di comandi cURL AEM per attività amministrative e operative comuni.
localhost
sulla porta 4502
e utilizza l’utente admin
con password admin
. I segnaposto di comando aggiuntivi vengono impostati tra parentesi angolari.Gestione pacchetti package-management
Elenca tutti i pacchetti installati
curl -u <user>:<password> http://<host>:<port>/crx/packmgr/service.jsp?cmd=ls
Creare un pacchetto 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>
Visualizzare l’anteprima di un pacchetto preview-a-package
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=preview
Elencare contenuto pacchetto list-package-content
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/console.html/etc/packages/mycontent.zip?cmd=contents
Creare un pacchetto build-a-package
curl -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=build
Ripetere il wrapping di un pacchetto rewrap-a-package
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=rewrap
Rinominare un pacchetto 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
Caricare un pacchetto upload-a-package
curl -u <user>:<password> -F cmd=upload -F force=true -F package=@test.zip http://localhost:4502/crx/packmgr/service/.json
Installare un pacchetto install-a-package
curl -u <user>:<password> -F cmd=install http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Disinstallare un pacchetto uninstall-a-package
curl -u <user>:<password> -F cmd=uninstall http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Eliminare un pacchetto delete-a-package
curl -u <user>:<password> -F cmd=delete http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
Scaricare un pacchetto download-a-package
curl -u <user>:<password> http://localhost:4502/etc/packages/my_packages/test.zip
Replicare un pacchetto replicate-a-package
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip?cmd=replicate
User Management user-management
Crea un nuovo utente create-a-new-user
curl -u <user>:<password> -FcreateUser= -FauthorizableId=hashim -Frep:password=hashim http://localhost:4502/libs/granite/security/post/authorizables
Crea un nuovo gruppo create-a-new-group
curl -u <user>:<password> -FcreateGroup=group1 -FauthorizableId=testGroup1 http://localhost:4502/libs/granite/security/post/authorizables
Aggiungere una proprietà a un utente esistente add-a-property-to-an-existing-user
curl -u <user>:<password> -Fprofile/age=25 http://localhost:4502/home/users/h/hashim.rw.html
Creare un utente con un profilo 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
Creare un nuovo utente come membro di un gruppo 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
Aggiungere un utente a un gruppo add-a-user-to-a-group
curl -u <user>:<password> -FaddMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
Rimuovere un utente da un gruppo remove-a-user-from-a-group
curl -u <user>:<password> -FremoveMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
Imposta appartenenza al gruppo di un utente set-a-user-s-group-membership
curl -u <user>:<password> -Fmembership=contributor -Fmembership=testgroup http://localhost:4502/home/users/t/testuser.rw.html
Eliminare un utente delete-a-user
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/users/t/testuser
Eliminare un gruppo delete-a-group
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/groups/t/testGroup
Backup backup
Consulta Backup e ripristino per i dettagli.
OSGi osgi
Avvio di un bundle starting-a-bundle
curl -u <user>:<password> -Faction=start http://localhost:4502/system/console/bundles/<bundle-name>
Interruzione di un bundle stopping-a-bundle
curl -u <user>:<password> -Faction=stop http://localhost:4502/system/console/bundles/<bundle-name>
Dispatcher dispatcher
Invalidare la cache 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
Elimina 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
Agente di replica replication-agent
Controllare lo stato di un agente 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
Eliminare un agente delete-an-agent
curl -X DELETE http://localhost:4502/etc/replication/agents.author/replication99 -u <user>:<password>
Creare un agente 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
Sospendi un agente 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
Cancella una coda agente 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
Assegnare e revocare i badge assign-and-revoke-badges
Consulta Punteggio community e badge per i dettagli.
Consulta Nozioni di base su punteggio e distintivi per i dettagli.
Reindicizzazione MSRP msrp-reindexing
Consulta MSRP - Provider risorsa di archiviazione MongoDB per i dettagli.
Sicurezza security
Abilitazione e disabilitazione di CRX DE Lite enabling-and-disabling-crx-de-lite
Consulta Abilitazione di CRXDE Liti nell’AEM per i dettagli.
Raccolta oggetti inattivi in archivio dati data-store-garbage-collection
Consulta Raccolta oggetti inattivi dell’archivio dati per i dettagli.
Integrazione di Analytics e Target analytics-and-target-integration
Consulta Scelta di Adobe Analytics e Adobe Target per i dettagli.
Single Sign-On single-sign-on
Invia intestazione test send-test-header
Consulta Single Sign-On per i dettagli.
Comandi cURL comuni per la manipolazione dei contenuti dell’AEM common-content-manipulation-aem-curl-commands
Elenco di comandi cURL AEM per la manipolazione dei contenuti.
localhost
sulla porta 4502
e utilizza l’utente admin
con password admin
. I segnaposto di comando aggiuntivi vengono impostati tra parentesi angolari.Gestione delle pagine page-management
Attivazione pagina page-activation
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="activate" http://localhost:4502/bin/replicate.json
Disattivazione pagina page-deactivation
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="deactivate" http://localhost:4502/bin/replicate.json
Attivazione struttura 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
Blocca pagina 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
Sblocca pagina 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
Copia pagina 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
Flussi di lavoro workflows
Consulta Interazione con i flussi di lavoro a livello di programmazione per i dettagli.
Contenuto Sling sling-content
Creare una cartella create-a-folder
curl -u <user>:<password> -F jcr:primaryType=sling:Folder http://localhost:4502/etc/test
Eliminare un nodo delete-a-node
curl -u <user>:<password> -F :operation=delete http://localhost:4502/etc/test/test.properties
Spostare un nodo move-a-node
curl -u <user>:<password> -F":operation=move" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
Copiare un nodo copy-a-node
curl -u <user>:<password> -F":operation=copy" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
Caricare file con Sling PostServlet upload-files-using-sling-postservlet
curl -u <user>:<password> -F"*=@test.properties" http://localhost:4502/etc/test
Caricare file con Sling PostServlet e specificare il nome del nodo upload-files-using-sling-postservlet-and-specifying-node-name
curl -u <user>:<password> -F"test2.properties=@test.properties" http://localhost:4502/etc/test
Carica file specificando un tipo di contenuto upload-files-specifying-a-content-type
curl -u <user>:<password> -F "*=@test.properties;type=text/plain" http://localhost:4502/etc/test
Manipolazione risorse asset-manipulation
Consulta API HTTP di Assets per i dettagli.