Utilizzo di cURL con AEM

ATTENZIONE

AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.

Gli amministratori devono spesso automatizzare o semplificare le attività più comuni all'interno di qualsiasi sistema. In AEM, ad esempio, gestire gli utenti, installare i pacchetti e gestire i bundle OSGi sono attività che devono essere eseguite comunemente.

A causa della natura RESTful del framework Sling su cui viene creato 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 AEM.

Cos’è cURL

cURL è uno strumento a 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 intendeva "vedi URL".

A causa della natura RESTful del framework Sling su cui viene generato 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, l’avvio dei flussi di lavoro e compiti operativi come la gestione dei pacchetti e gli utenti possono essere automatizzati utilizzando cURL. Inoltre, è possibile crea il tuo cURL comandi 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 sequenze 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 sorgente di cURL può essere trovato anche su GitHub.

Creazione di un comando di AEM pronto per cURL

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

Per trovare il comando esatto necessario per una particolare operazione, è 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 farlo utilizzando come esempio la creazione di una nuova pagina all’interno del browser Chrome.

  1. Prepara l’azione da invocare in AEM. In questo caso, abbiamo proseguito fino alla fine del Crea pagina procedura guidata, ma non hai ancora fatto clic Crea.

    chlimage_1-66

  2. Avvia gli strumenti per sviluppatori e seleziona la Rete scheda . Fai clic sul pulsante Conserva registro prima di cancellare la console.

    chlimage_1-67

  3. Fai clic su Crea in Crea pagina creazione guidata per creare effettivamente il flusso di lavoro.

  4. Fai clic con il pulsante destro del mouse sull’azione POST risultante e seleziona Copia -> Copia come cURL.

    chlimage_1-68

  5. Copia il comando cURL in un editor di testo e rimuovi tutte le intestazioni dal comando, che inizia con -H (evidenziato in blu nell'immagine seguente) e aggiungi il parametro di autenticazione appropriato, come -u <user>:<password>.

    chlimage_1-69

  6. Esegui il comando cURL tramite la riga di comando e visualizza la risposta.

    chlimage_1-70

Comandi comuni operativi AEM cURL

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

NOTA

Gli esempi seguenti presuppongono che AEM sia in esecuzione localhost sulla porta 4502 e utilizza l'utente admin con password admin. I segnaposto di comando 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 del pacchetto di 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

Rinomina 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

Scaricare un pacchetto

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

User Management

Creare un 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

Aggiungere una proprietà a un utente esistente

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

Creare 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

Creare 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

Aggiungere un utente a un gruppo

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

Rimuovere 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

Vedi Backup e ripristino per i dettagli.

OSGi

Avvio di un bundle

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

Arresto di un bundle

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

Dispatcher

Annullare la validità della 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 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 di 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 un agente

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

Cancella coda agente

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

Communities

Assegnare e revocare i badge

Vedi Punteggio e badge delle community per i dettagli.

Vedi Nozioni di base sul punteggio e sui badge per i dettagli.

Reindicizzazione MSRP

Vedi MSRP - Provider risorsa di archiviazione MongoDB per i dettagli.

Sicurezza

Abilitazione e disabilitazione di CRX DE Lite

Vedi Abilitazione di CRXDE Lite in AEM per i dettagli.

Archivio dati raccolta oggetti inattivi

Vedi Raccolta rifiuti dell'archivio dati per i dettagli.

Integrazione di Analytics e Target

Vedi Accesso ad Adobe Analytics e Adobe Target per i dettagli.

Single Sign On

Invia intestazione di test

Vedi Single Sign On per i dettagli.

Comandi di manipolazione dei contenuti comuni AEM cURL

Elenco dei comandi cURL AEM per la manipolazione dei contenuti.

NOTA

Gli esempi seguenti presuppongono che AEM sia in esecuzione localhost sulla porta 4502 e utilizza l'utente admin con password admin. I segnaposto di comando aggiuntivi sono impostati tra parentesi angolari.

Gestione pagina

Attivazione pagina

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

Disattivazione pagina

curl -u <user>:<password> -X POST -F path="/content/path/to/page" -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" -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" -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

Vedi Interazione con flussi di lavoro a livello di programmazione per i dettagli.

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

Carica file utilizzando Sling PostServlet

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

Carica 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

Caricare file che specificano un tipo di contenuto

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

Manipolazione delle risorse

Vedi API HTTP di Assets per i dettagli.

In questa pagina