管理員通常需要自動化或簡化任何系統內的常見任務。 例如,在AEM中,管理使用者、安裝套件和管理OSGi套件組合是通常必須完成的工作。
由於建置AEM的Sling架構具有RESTful性質,因此大部分工作都可以透過URL呼叫完成。 cURL可用來執行此類URL呼叫,且對AEM管理員來說也是很實用的工具。
cURL是用於執行URL操作的開放原始碼命令列工具。 它支援多種網際網路協定,包括HTTP、HTTPS、FTPS、SCP、SFTP、TFTP、LDAP、DAP、DICT、TELNET、FILE、IMAP、POP3、SMTP和RTSP。
cURL是使用URL語法取得或傳送資料的成熟且廣泛使用的工具,最初於1997年發行。 名稱cURL原本意指「請參閱URL」。
由於建置AEM的Sling架構具有RESTful性質,因此大部分工作都可簡化為URL呼叫,而此呼叫可以使用cURL執行。 內容操作任務 例如啟動頁面、啟動工作流程以及 操作任務 例如,可使用cURL自動管理套件和管理使用者。 此外,您 建立您自己的cURL 命令執行AEM中的大多數任務。
任何透過cURL執行的AEM命令,都必須像任何使用者一樣獲得AEM的授權。 使用cURL執行AEM命令時,會考量所有ACL和存取權限。
cURL是macOS和部分Linux程式庫的標準部分。 但是,它適用於大多數作業系統。 您可在以下網址找到最新的下載內容: https://curl.haxx.se/download.html.
您也可以在GitHub上找到cURL的來源存放庫。
cURL命令可針對AEM中的大部分操作而建置,例如觸發工作流程、檢查OSGi設定、觸發JMX命令、建立復寫代理等。
若要尋找您特定作業所需的確切命令,您必須在瀏覽器中使用開發人員工具,以在執行AEM命令時擷取對伺服器的POST呼叫。
下列步驟以在Chrome瀏覽器中建立新頁面為例說明如何執行此操作。
準備要在AEM中叫用的動作。 在這種情況下,我們已將 建立頁面 嚮導,但尚未按一下 建立.
啟動開發人員工具並選取 網路 標籤。 按一下 保留日誌 選項。
按一下 建立 在 建立頁面 精靈,以實際建立工作流程。
以滑鼠右鍵按一下產生的POST動作,然後選取 複製 -> 複製為cURL.
將cURL命令複製到文字編輯器,並從命令中移除所有標題(以開頭) -H
(在下圖中以藍色顯示)並新增正確的驗證參數,例如 -u <user>:<password>
.
通過命令行執行cURL命令並查看響應。
以下是常見管理和操作任務的AEM cURL命令清單。
下列範例假設AEM正在執行 localhost
埠 4502
和使用使用者 admin
使用密碼 admin
. 其他命令佔位符設定在角括弧中。
curl -u <user>:<password> http://<host>:<port>/crx/packmgr/service.jsp?cmd=ls
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>
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=preview
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/console.html/etc/packages/mycontent.zip?cmd=contents
curl -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=build
curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=rewrap
curl -u <user>:<password> -X POST -Fname=<New Name> http://localhost:4502/etc/packages/<Group Name>/<Package Name>.zip/jcr:content/vlt:definition
curl -u <user>:<password> -F cmd=upload -F force=true -F package=@test.zip http://localhost:4502/crx/packmgr/service/.json
curl -u <user>:<password> -F cmd=install http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
curl -u <user>:<password> -F cmd=uninstall http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
curl -u <user>:<password> -F cmd=delete http://localhost:4502/crx/packmgr/service/.json/etc/packages/my_packages/test.zip
curl -u <user>:<password> http://localhost:4502/etc/packages/my_packages/test.zip
curl -u <user>:<password> -FcreateUser= -FauthorizableId=hashim -Frep:password=hashim http://localhost:4502/libs/granite/security/post/authorizables
curl -u <user>:<password> -FcreateGroup=group1 -FauthorizableId=testGroup1 http://localhost:4502/libs/granite/security/post/authorizables
curl -u <user>:<password> -Fprofile/age=25 http://localhost:4502/home/users/h/hashim.rw.html
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=hashimkhan -Frep:password=hashimkhan -Fprofile/gender=male http://localhost:4502/libs/granite/security/post/authorizables
curl -u <user>:<password> -FcreateUser=testuser -FauthorizableId=testuser -Frep:password=abc123 -Fmembership=contributor http://localhost:4502/libs/granite/security/post/authorizables
curl -u <user>:<password> -FaddMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
curl -u <user>:<password> -FremoveMembers=testuser1 http://localhost:4502/home/groups/t/testGroup.rw.html
curl -u <user>:<password> -Fmembership=contributor -Fmembership=testgroup http://localhost:4502/home/users/t/testuser.rw.html
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/users/t/testuser
curl -u <user>:<password> -FdeleteAuthorizable= http://localhost:4502/home/groups/t/testGroup
請參閱 備份和還原 以取得詳細資訊。
curl -u <user>:<password> -Faction=start http://localhost:4502/system/console/bundles/<bundle-name>
curl -u <user>:<password> -Faction=stop http://localhost:4502/system/console/bundles/<bundle-name>
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
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
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
curl -X DELETE http://localhost:4502/etc/replication/agents.author/replication99 -u <user>:<password>
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
curl -u <user>:<password> -F "cmd=pause" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
curl -u <user>:<password> -F "cmd=clear" -F "name=publish" http://localhost:4502/etc/replication/agents.author/publish/jcr:content.queue.json
請參閱 社群計分和徽章 以取得詳細資訊。
請參閱 計分和徽章要點 以取得詳細資訊。
請參閱 MSRP - MongoDB儲存資源提供程式 以取得詳細資訊。
請參閱 在AEM中啟用CRXDE Lite 以取得詳細資訊。
請參閱 資料儲存垃圾收集 以取得詳細資訊。
請參閱 選擇加入Adobe Analytics和Adobe Target 以取得詳細資訊。
請參閱 單一登入 以取得詳細資訊。
以下是用於內容操控的AEM cURL命令清單。
下列範例假設AEM正在執行 localhost
埠 4502
和使用使用者 admin
使用密碼 admin
. 其他命令佔位符設定在角括弧中。
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="activate" http://localhost:4502/bin/replicate.json
curl -u <user>:<password> -X POST -F path="/content/path/to/page" -F cmd="deactivate" http://localhost:4502/bin/replicate.json
curl -u <user>:<password> -F cmd=activate -F ignoredeactivated=true -F onlymodified=true -F path=/content/geometrixx http://localhost:4502/etc/replication/treeactivation.html
curl -u <user>:<password> -X POST -F cmd="lockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
curl -u <user>:<password> -X POST -F cmd="unlockPage" -F path="/content/path/to/page" -F "_charset_"="utf-8" http://localhost:4502/bin/wcmcommand
curl -u <user>:<password> -F cmd=copyPage -F destParentPath=/path/to/destination/parent -F srcPath=/path/to/source/location http://localhost:4502/bin/wcmcommand
請參閱 以程式設計方式與工作流程互動 以取得詳細資訊。
curl -u <user>:<password> -F jcr:primaryType=sling:Folder http://localhost:4502/etc/test
curl -u <user>:<password> -F :operation=delete http://localhost:4502/etc/test/test.properties
curl -u <user>:<password> -F":operation=move" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
curl -u <user>:<password> -F":operation=copy" -F":applyTo=/sourceurl" -F":dest=/target/parenturl/" https://localhost:4502/content
curl -u <user>:<password> -F"*=@test.properties" http://localhost:4502/etc/test
curl -u <user>:<password> -F"test2.properties=@test.properties" http://localhost:4502/etc/test
curl -u <user>:<password> -F "*=@test.properties;type=text/plain" http://localhost:4502/etc/test
請參閱 Assets HTTP API 以取得詳細資訊。