> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryprofound.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agents で Adobe Experience Manager を使用する

Adobe Experience Manager(AEM)アカウントを接続すると、Profound Agents で次のノードが利用できるようになります。これらのノードを使用して、AEM の Content Fragment を検索、読み取り、作成、更新できます。すべての操作は接続された AEM Author 環境に対して実行され、OAuth 認証情報のテクニカルアカウントに割り当てられた権限が使用されます。

## 利用可能なノード

<Tabs>
  <Tab title="List Content Fragments" icon="list">
    ### List Content Fragments

    接続された Author 環境から Content Fragment を取得します。

    #### 必須の入力

    * **AEM Instance** — 接続された Author 環境

    #### 任意の入力

    * **Folder** — 一覧を `/content/dam` 配下の承認済みフォルダーに限定します
    * **References** — リンクされたフラグメントを返すかどうか、またハイドレートするかどうかを制御します
    * **Limit** — 返す結果の数。デフォルトは `25`、最大は `50` です
    * **Cursor** — 前の List ノードまたは Search ノードの出力に含まれるページネーションカーソル。次のページの結果を取得するために使用します
    * **Projection** — 概要データのみが必要な場合は `summary` を使用します

    #### 出力

    出力には、条件に一致する Content Fragment と、さらに結果がある場合は次のページ用のページネーションカーソルが含まれます。
  </Tab>

  <Tab title="Search Content Fragments" icon="magnifying-glass">
    ### Search Content Fragments

    1 つ以上の条件に一致する Content Fragment を検索します。

    #### 必須の入力

    * **AEM Instance** — 接続された Author 環境

    <Note>
      Profound は、**Folder** フィルターを `/content/dam` に設定した状態で検索を開始します。必要に応じてフォルダーを変更するか、別のフィルターを追加してください。
    </Note>

    #### 検索フィルター

    * **Search text** — AEM がサポートするフラグメントコンテンツ内で、指定したテキストを検索します
    * **Folder** — 検索範囲を DAM フォルダーパスに限定します
    * **Models** — 結果を選択した Content Fragment Model に限定します
    * **Statuses** — New、Draft、Published、Modified、Unpublished のいずれか
    * **Locale** — 結果をロケールで限定します
    * **Direct children only** — ネストされたフォルダー内のフラグメントを除外します
    * **Created after** と **Created before** — 作成日の範囲を指定します

    #### 任意の入力

    * **Raw Query** — AEM がサポートする検索クエリの JSON。ノードの設定フォームにないフィルターや並べ替えを使用する場合に指定します
    * **Limit** — 返す結果の数。デフォルトは `25`、最大は `50` です
    * **Cursor** — 前の List ノードまたは Search ノードの出力に含まれるページネーションカーソル。次のページの結果を取得するために使用します
    * **Projection** — 概要データのみが必要な場合は `summary` を使用します

    #### 出力

    出力には、条件に一致する Content Fragment と、さらに結果がある場合は次のページ用のページネーションカーソルが含まれます。
  </Tab>

  <Tab title="Get Content Fragment" icon="file">
    ### Get Content Fragment

    1 つの Content Fragment の完全なデータを取得します。

    #### 必須の入力

    * **AEM Instance** — 接続された Author 環境
    * **Content Fragment** — ドロップダウンからフラグメントを選択するか、前のノードの出力の変数を使用します

    #### 任意の入力

    * **Content Fragment ID** — テキスト形式のフラグメント UUID。**必須の入力**で選択したフラグメントより優先されます
    * **References** — リンクされたフラグメントを返すかどうか、またハイドレートするかどうかを制御します

    #### 出力

    出力には、Content Fragment のデータと、利用可能な場合はその ETag が含まれます。モデル固有のフィールドは、AEM が返すレスポンスに従います。
  </Tab>

  <Tab title="Create Content Fragment" icon="file-plus">
    ### Create Content Fragment

    有効な Content Fragment Model に基づいて Author コンテンツを追加します。

    #### 必須の入力

    * **AEM Instance** — 接続された Author 環境
    * **Parent Folder** — `/content/dam` 配下の保存先フォルダー
    * **Content Fragment Model** — フラグメントのフィールドを定義するモデル
    * **Title** — フラグメントのタイトル
    * **Data format**
      * **Structured** — 選択したモデルを読み込み、そのフィールドを設定パネルに表示します
      * **Raw JSON** — キーが AEM モデルのフィールド名と一致するオブジェクトを受け付けます
    * **Fields** / **Raw JSON** — 選択した **Data format** に基づく入力データの構造

    <Tip>
      Content Fragment Model を変数で指定する場合は、ノードエディターがそのモデルのフィールド定義を事前に読み込めないため、Raw JSON を使用してください。
    </Tip>

    #### 任意の入力

    * **Name** — URL セーフな Content Fragment 名。空欄の場合は **Title** から生成されます
    * **Description** — フラグメントの説明

    #### 出力

    出力には、作成された Content Fragment と、AEM が提供する場合はその ETag と Location が含まれます。

    <Note>
      フラグメントを作成または更新しても公開はされません。AEM でコンテンツを確認して公開してください。
    </Note>
  </Tab>

  <Tab title="Update Content Fragment" icon="pencil">
    ### Update Content Fragment

    既存のフラグメントを変更します。このノードは、指定したフィールドのみを変更します。

    #### 必須の入力

    * **AEM Instance** — 接続された Author 環境
    * **Content Fragment** — ドロップダウンからフラグメントを選択するか、前のノードの出力の変数を使用します
    * **Data format**
      * **Structured** — 選択したモデルを読み込み、そのフィールドを設定パネルに表示します
      * **Raw JSON** — キーが AEM モデルのフィールド名と一致するオブジェクトを受け付けます
    * **Title**、**Description**、**Fields** / **Raw JSON** のうち、少なくとも 1 つの変更

    <Tip>
      Content Fragment Model を変数で指定する場合は、ノードエディターがそのモデルのフィールド定義を事前に読み込めないため、Raw JSON を使用してください。
    </Tip>

    #### 任意の入力

    * **Title** — 現在のタイトルを維持する場合は空欄のままにします
    * **Description** — 現在の説明を維持する場合は空欄のままにします
    * **Fields** / **Raw JSON** — 選択した **Data format** に基づく入力データの構造
    * **References** — リンクされたフラグメントを返すかどうか、またハイドレートするかどうかを制御します
    * **ETag** — 以前の Get または Update の出力に含まれる楽観的ロックの値。空欄の場合、Profound は更新を送信する直前に現在の ETag を読み取ります。指定した ETag が古い場合、ノードは競合を報告します。

    #### 出力

    出力には、更新された Content Fragment と、AEM が提供する場合は新しい ETag が含まれます。

    <Note>
      フラグメントを作成または更新しても公開はされません。AEM でコンテンツを確認して公開してください。
    </Note>
  </Tab>
</Tabs>

***

## 主な概念

### AEM Instance

接続された AEM Author 環境です。モデル、フォルダー、フラグメントを選択する前に選択してください。

### Content Fragment Model

フラグメントのフィールド、型、必須値、許可されるコンテンツを定義する AEM のスキーマです。モデルは有効化されており、保存先フォルダーのポリシーで許可されている必要があります。

### DAM パス

Content Fragment のフォルダーには、`/content/dam` 配下のリポジトリパスが使用されます。Profound が読み取りや変更を行えるコンテンツは、フォルダーの権限とポリシーによって制御されます。

### Content Fragment ID

AEM API の操作では、Content Fragment を UUID で識別します。Profound のピッカーは検索可能なフラグメント情報を表示し、UUID をノードに渡します。

### ETag

ETag は、Content Fragment のデータの特定バージョンを示す一意の識別子です。**Get Content Fragment** ノードから **Update Content Fragment** ノードに ETag を渡すことで、フラグメントの読み取り後に行われた変更をワークフローが気付かないうちに上書きしてしまうことを防げます。

### ページネーション

List ノードと Search ノードは、1 回のリクエストにつき最大 `50` 件のフラグメントを返します。出力にカーソルが含まれている場合は、それを次の List ノードまたは Search ノードに渡して、次のページの結果を取得します。

### ハイドレートされた Content Fragment

基本的な ID や URL だけでなく、すべてのフィールド値を含む Content Fragment です。

### References

References は、リンクされたフラグメントをどのように含めるかを制御します。ハイドレートモードやすべての参照を含むモードでは、レスポンスが大きくなる可能性があるため、ワークフローでリンクされたコンテンツが必要な場合にのみ使用してください。

***

## トラブルシューティング

### フォルダー、フラグメント、モデルのピッカーが無効または空になっている

最初に **AEM Instance** を選択してください。それでもピッカーが空の場合は、OAuth 認証情報のテクニカルアカウントが該当するモデル、フォルダー、フラグメントを読み取れることを確認してください。詳しくは[セットアップのトラブルシューティング](/ja-jp/integrations/adobe-experience-manager/setup/aem-setup-troubleshooting)ガイドをご覧ください。

### 検索で無効なクエリのエラーが返される

**Folder** フィルターを `/content/dam` に戻すか、別のフィルターを追加してください。**Raw Query** を使用する場合は、空でない JSON オブジェクトを指定し、Adobe がサポートするフィルターフィールドと並べ替えフィールドを使用してください。

### Create ノードが不明なフィールドまたは無効な値を報告する

可能な場合は、モデルを選択して **Structured** 形式を使用してください。**Raw JSON** 形式を使用する必要がある場合は、各キーが AEM モデルのフィールド名と一致していることを確認し、モデルが想定する型と多重度の値を指定してください。

### Update ノードが変更なしと報告する

**Title**、**Description**、またはモデルのフィールド値を少なくとも 1 つ入力してください。空の入力では現在のコンテンツが維持されます。

### Update ノードが競合を報告する

AEM が ETag を発行した後にフラグメントが変更されています。**Get Content Fragment** ノードを再度実行し、最新のコンテンツを確認してから、新しい ETag を使用して更新を適用してください。

### ノードが権限エラーを返す

テクニカルアカウントのサービスグループに、その操作と DAM パスに対する権限があることを確認してください。読み取りアクセスは成功しても、Create や Update がブロックされたままになる場合があります。AEM 環境内の特定のフォルダーやファイルに権限を追加するには、Adobe の [Product Profile and Services user group permission management](https://experienceleague.adobe.com/en/docs/experience-manager-learn/cloud-service/aem-apis/openapis/how-to/services-user-group-permission-management) ガイドに従ってください。

### 結果の最初のページしか返されない

List ノードまたは Search ノードが返したカーソルを、次のリクエストの **Cursor** として使用してください。各ページに含まれる結果は最大 `50` 件です。

***

## 関連リソース

* [AEM Sites Content Management API リファレンス](https://developer.adobe.com/experience-cloud/experience-manager-apis/api/stable/sites/)
* [AEM Folders API リファレンス](https://developer.adobe.com/experience-cloud/experience-manager-apis/api/stable/folders/)
