AEM での cURL の使用

注意

AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

管理者は、多くの場合、あらゆるシステム内で一般的なタスクを自動化またはシンプル化する必要があります。 例えば、AEMでは、ユーザーの管理、パッケージのインストール、OSGi バンドルの管理は、一般的におこなう必要があるタスクです。

AEM が構築されている Sling フレームワークの RESTful 特性により、ほとんどのタスクは URL 呼び出しで実行できます。cURL は、このような URL 呼び出しの実行に使用でき、AEM管理者に役立つツールになります。

cURL とは

cURL は、URL 操作を実行するために使用されるオープンソースのコマンドラインツールです。 HTTP、HTTPS、FTP、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 のダウンロード

cURL は、macOSおよび一部の Linux ディストリビューションの標準部分です。 ただし、ほとんどのオペレーティングシステムで使用できます。 最新のダウンロードは、https://curl.haxx.se/download.html にあります。

cURL のソースリポジトリは、GitHub にもあります。

cURL 対応AEMコマンドの構築

cURL コマンドは、ワークフローのトリガー、OSGi 設定の確認、JMX コマンドのトリガー、レプリケーションエージェントの作成など、AEMのほとんどの操作に対して構築できます。

特定の操作に必要な正確なコマンドを見つけるには、ブラウザーの開発者ツールを使用して、AEMコマンドの実行時にサーバーに対するPOST呼び出しをキャプチャする必要があります。

次の手順では、例として Chrome ブラウザー内で新しいページを作成する方法を説明します。

  1. AEM内で呼び出すアクションを準備します。 この例では、ページを作成​ウィザードの最後まで進みましたが、まだ「作成」はクリックしていません。

    chlimage_1-66

  2. 開発者ツールを起動し、 ネットワーク タブをクリックします。 次をクリック: ログを保持 オプションを使用して、コンソールをクリアします。

    chlimage_1-67

  3. クリック 作成ページを作成 ウィザードを使用して実際にワークフローを作成します。

  4. 結果のアクションを右クリックし、「POST」を選択します。 コピー -> cURL としてコピー.

    chlimage_1-68

  5. cURL コマンドをテキストエディターにコピーして、コマンドから -H で始まるすべてのヘッダー(下図の青い部分)を削除し、-u <user>:<password> などの適切な認証パラメーターを追加します。

    chlimage_1-69

  6. コマンドラインで cURL コマンドを実行して、応答を表示します。

    chlimage_1-70

一般的な Operational AEM 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

バックアップ

詳しくは、バックアップとリストアを参照してください。

OSGi

バンドルの開始

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>

Dispatcher

キャッシュの無効化

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

Communities

バッジの割り当てと取り消し

詳しくは、コミュニティのスコアとバッジを参照してください。

詳しくは、スコアおよびバッジの基本事項を参照してください。

MSRP インデックス再作成

詳しくは、MSRP - MongoDB ストレージリソースプロバイダーを参照してください。

セキュリティ

CRX DE Lite の有効化と無効化

詳しくは、AEM で CRXDE Lite を有効にするを参照してください。

データストアのガベージコレクション

詳しくは、データストアのガベージコレクションを参照してください。

Analytics と Target の統合

詳しくは、Adobe Analytics および Adobe Target との統合のオプトインを参照してください。

シングルサインオン

テストヘッダーの送信

詳しくは、シングルサインオンを参照してください。

一般的なコンテンツ操作AEM cURL コマンド

コンテンツ操作用の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

ワークフロー

詳しくは、プログラムによるワークフローとのやり取りを参照してください。

Sling コンテンツ

フォルダーの作成

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

Sling PostServlet を使用したファイルのアップロード

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

Sling PostServlet を使用したファイルのアップロードとノード名の指定

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 を参照してください。

このページ