Utilizzo di cURL con AEM

Gli amministratori devono spesso automatizzare o semplificare le attività più comuni all'interno di qualsiasi sistema. In AEM, ad esempio, la gestione di utenti, l'installazione di pacchetti e la gestione di pacchetti OSGi sono attività che devono essere eseguite normalmente.

A causa della natura RESTful del framework Sling su cui AEM è costruito, 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 AEM amministratori.

Cos'è cURL

cURL è uno strumento della 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 noto e ampiamente utilizzato per ottenere o inviare dati utilizzando la sintassi URL ed è stato originariamente rilasciato nel 1997. Il nome cURL in origine significava "see URL".

A causa della natura RESTful del framework Sling su cui AEM è creato, 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, nonché le attività operative come la gestione dei pacchetti e la gestione degli utenti possono essere automatizzate tramite cURL. È inoltre possibile creare comandi cURL personalizzati per la maggior parte delle attività in AEM.

NOTA

Qualsiasi comando AEM eseguito tramite cURL deve essere autorizzato come qualsiasi utente a AEM. Tutti gli ACL e i diritti di accesso vengono rispettati quando si utilizza cURL per eseguire un comando AEM.

Download di cURL

cURL è una parte standard di macOS e alcune distanze Linux. Tuttavia è disponibile per la maggior parte di tutti i sistemi operativi. Gli ultimi download sono disponibili all'indirizzo https://curl.haxx.se/download.html.

L'archivio di origine di cURL è disponibile anche su GitHub.

Creazione di un comando di AEM cURL-Ready

I comandi cURL possono essere creati per la maggior parte delle operazioni in AEM quali attivazione di flussi di lavoro, verifica delle configurazioni OSGi, attivazione di comandi JMX, creazione di agenti di replica e molto altro.

Per trovare il comando esatto necessario per la vostra particolare operazione, è necessario utilizzare gli strumenti di sviluppo nel browser per catturare la chiamata POST al server quando eseguite il comando AEM.

Nei passaggi seguenti viene descritto come eseguire questa operazione utilizzando come esempio la creazione di una nuova pagina nel browser Chrome.

  1. Preparate l’azione da richiamare all’interno di AEM. In questo caso, alla fine della procedura guidata Crea pagina, non è stato ancora fatto clic su Crea.

    chlimage_1-66

  2. Avviate gli strumenti di sviluppo e selezionate la scheda Rete. Fare clic sull'opzione Mantieni registro prima di cancellare la console.

    chlimage_1-67

  3. Fare clic su Crea nella procedura guidata Crea pagina per creare effettivamente il flusso di lavoro.

  4. Fare clic con il pulsante destro del mouse sull'azione POST risultante e selezionare Copia -> Copia come cURL.

    chlimage_1-68

  5. Copiate il comando cURL in un editor di testo e rimuovete tutte le intestazioni dal comando, che inizia con -H (evidenziato in blu nell'immagine sottostante) e aggiungete il parametro di autenticazione corretto, ad esempio -u <user>:<password>.

    chlimage_1-69

  6. Eseguite il comando cURL dalla riga di comando e visualizzate la risposta.

    chlimage_1-70

Comandi comuni AEM cURL operativi

Elenco di comandi cURL AEM per le comuni attività amministrative e operative.

NOTA

Gli esempi seguenti presumono che AEM in esecuzione su localhost sulla porta 4502 e utilizza l'utente admin con password admin. I segnaposto dei comandi aggiuntivi sono impostati tra parentesi angolari.

Gestione pacchetti

Elenca tutti i pacchetti installati

curl -u <user>:<password> http://<host>:<port>/crx/packmgr/service.jsp?cmd=ls

Creare un pacchetto

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>

Anteprima di un pacchetto

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

Contenuto pacchetto elenco

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

Creare un pacchetto

curl -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=build

Riavvolgere un pacchetto

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

Rinominare un pacchetto

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

curl -u <user>:<password> -F cmd=upload -F force=true -F package=@test.zip http://localhost:4502/crx/packmgr/service/.json

Installare un pacchetto

curl -u <user>:<password> -F cmd=install http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip

Disinstallare un pacchetto

curl -u <user>:<password> -F cmd=uninstall http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip

Eliminare un pacchetto

curl -u <user>:<password> -F cmd=delete http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip

Download di un pacchetto

curl -u <user>:<password> http://localhost:4502/etc/packages/my_packages/test.zip

User Management

Crea nuovo utente

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

Creare un nuovo gruppo

curl -u <user>:<password> -FcreateGroup=group1 -FauthorizableId=testGroup1 http://localhost:4502/libs/granite/security/post/authorizables

Aggiunta di una proprietà a un utente esistente

curl -u <user>:<password> -Fprofile/age=25 http://localhost:4502/home/users/h/hashim.rw.html

Creazione di un utente con un profilo

curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=hashimkhan -Frep:password=hashimkhan -Fprofile/gender=male http://localhost:4502/libs/granite/security/post/authorizables

Crea un nuovo utente come membro di un gruppo

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

Aggiunta di un utente a un gruppo

curl -u <user>:<password> -FaddMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html

Rimozione di un utente da un gruppo

curl -u <user>:<password> -FremoveMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html

Imposta appartenenza a un gruppo di utenti

curl -u <user>:<password> -Fmembership=contributor -Fmembership=testgroup http://localhost:4502/home/users/t/testuser.rw.html

Eliminare un utente

curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/users/t/testuser

Eliminare un gruppo

curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/groups/t/testGroup

Backup

Per ulteriori informazioni, vedere Backup e ripristino.

OSGi

Avvio di un pacchetto

curl -u <user>:<password> -Faction=start http://localhost:4502/system/console/bundles/<bundle-name>

Arresto di un pacchetto

curl -u <user>:<password> -Faction=stop http://localhost:4502/system/console/bundles/<bundle-name>

Dispatcher

Annulla validità 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

Rimuovere la 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 replica

Controllare lo stato di un agente

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

curl -X DELETE http://localhost:4502/etc/replication/agents.author/replication99 -u <user>:<password>

Creare un agente

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 agente

curl -u <user>:<password> -F "cmd=pause" -F "name=publish"  http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json

Cancellare la coda di un agente

curl -u <user>:<password> -F "cmd=clear" -F "name=publish"  http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json

Communities

Assegnazione e revoca dei simboli

Per ulteriori informazioni, vedere Punteggio delle community e Badge.

Per ulteriori informazioni, vedere Punteggio e Badges Essentials.

Reindicizzazione MSRP

Per ulteriori informazioni, vedere MSRP - Provider risorse di storage MongoDB.

Sicurezza

Abilitazione e disabilitazione di CRX DE Lite

Per ulteriori informazioni, vedere Abilitazione del CRXDE Lite in AEM.

Archivio dati raccolta oggetti inattivi

Per ulteriori informazioni, vedere Raccolta di oggetti inattivi nell'archivio dati.

Integrazione di Analytics e Target

Per informazioni, vedere Scelta Adobe Analytics e Adobe Target.

Single Sign On

Invia intestazione test

Per ulteriori informazioni, vedere Single Sign On.

Comandi comuni di gestione dei contenuti AEM cURL

Elenco dei comandi cURL AEM per la manipolazione del contenuto.

NOTA

Gli esempi seguenti presumono che AEM in esecuzione su localhost sulla porta 4502 e utilizza l'utente admin con password admin. I segnaposto dei comandi aggiuntivi sono impostati tra parentesi angolari.

Gestione pagine

Attivazione pagina

curl -u <user>:<password> -X POST -F path="/content/path/to/page?lang=it" -F cmd="activate" http://localhost:4502/bin/replicate.json

Disattivazione pagina

curl -u <user>:<password> -X POST -F path="/content/path/to/page?lang=it" -F cmd="deactivate" http://localhost:4502/bin/replicate.json

Attivazione albero

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

curl -u <user>:<password> -X POST -F cmd="lockPage" -F path="/content/path/to/page?lang=it" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand

Sblocca pagina

curl -u <user>:<password> -X POST -F cmd="unlockPage" -F path="/content/path/to/page?lang=it" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand

Copia pagina

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

Per informazioni dettagliate, vedere Interazione con i flussi di lavoro a livello di programmazione.

Contenuto Sling

Creare una cartella

curl -u <user>:<password> -F jcr:primaryType=sling:Folder http://localhost:4502/etc/test

Eliminare un nodo

curl -u <user>:<password> -F :operation=delete http://localhost:4502/etc/test/test.properties

Spostare un nodo

curl -u <user>:<password> -F":operation=move" -F":applyTo=/sourceurl"  -F":dest=/target/parenturl/" https://localhost:4502/content

Copiare un nodo

curl -u <user>:<password> -F":operation=copy" -F":applyTo=/sourceurl"  -F":dest=/target/parenturl/" https://localhost:4502/content

Caricare i file utilizzando Sling PostServlet

curl -u <user>:<password> -F"*=@test.properties"  http://localhost:4502/etc/test

Caricare i file utilizzando Sling PostServlet e specificando il nome del nodo

curl -u <user>:<password> -F"test2.properties=@test.properties"  http://localhost:4502/etc/test

Carica file che specificano un tipo di contenuto

curl -u <user>:<password> -F "*=@test.properties;type=text/plain" http://localhost:4502/etc/test

Gestione risorse

Per informazioni, consultate Assets HTTP API.

In questa pagina

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now