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. Le attività di manipolazione dei contenuti, come l'attivazione delle pagine e l'avvio dei flussi di lavoro, e le attività operative, come la gestione dei pacchetti e la gestione degli utenti, possono essere automatizzate tramite cURL. Inoltre puoi creare i tuoi comandi cURL personalizzati per la maggior parte delle attività in 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 all'indirizzo 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, si è proceduto alla fine della procedura guidata Crea pagina, ma non si è ancora fatto clic su Crea.
-
Avviare gli strumenti per sviluppatori e selezionare la scheda Rete. Fare clic sull'opzione Mantieni registro prima di cancellare la console.
-
Fai clic su Crea nella procedura guidata 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 iniziano con
-H
(evidenziato in blu nell'immagine seguente) e aggiungere 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 utilizzi 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
Per ulteriori informazioni, vedere Backup e ripristino.
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
Per ulteriori dettagli, consulta Punteggio community e distintivi.
Per informazioni dettagliate, consulta Nozioni di base su punteggio e badge.
Reindicizzazione MSRP msrp-reindexing
Per informazioni dettagliate, vedere MSRP - Provider risorse di archiviazione MongoDB.
Sicurezza security
Abilitazione e disabilitazione di CRX DE Lite enabling-and-disabling-crx-de-lite
Per ulteriori dettagli, vedere Abilitazione di CRXDE Lite nell'AEM.
Raccolta oggetti inattivi in archivio dati data-store-garbage-collection
Per ulteriori dettagli, vedi Raccolta oggetti inattivi archivio dati.
Integrazione di Analytics e Target analytics-and-target-integration
Per informazioni dettagliate, consulta Scelta di Adobe Analytics e Adobe Target.
Single Sign-On single-sign-on
Invia intestazione test send-test-header
Per ulteriori dettagli, vedere Single Sign On.
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 utilizzi 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
Per ulteriori dettagli, vedere Interazione con i flussi di lavoro a livello di programmazione.
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
Per informazioni dettagliate, consulta API HTTP di Assets.