管理操作のクエリ例

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

オーサリングと管理GraphQL APIを使用すると、カスタムダイアログとユーザーインターフェイスを使用してExperience Managerを拡張できます。このAPIを使用して、以前はSitecoreユーザー インターフェースでしか実行できなかったタスクを実行できます。

オーサリング操作は、次のGraphQLタイプのクエリとミューテーションを使用して実行できます。

  • アーカイブ

  • データベース

  • インデキシング

  • 仕事

  • 言語

  • 出版

  • 安全

  • ワークフロー

  • 準則

使用可能なタイプと操作の完全なリストについては、GraphQL IDEの組み込みドキュメントを参照してください。

インデックスの再構築をトリガーする

rebuildIndexesミューテーションを使用して、インデックスの再構築操作を実行できます。

クエリ

mutation {
  # Rebuild all indexes if indexName input is not specified.
  rebuildIndexes(
    input: { indexNames: ["sitecore_master_index", "sitecore_core_index"] } 
  ) {
    jobs {
      name
      handle
      status {
        total
        messages
        processed
        jobState
      }
      done
    }
  }
}

結果

{
  "data": {
    "rebuildIndexes": {
      "jobs": [
        {
          "name": "Index_Update_IndexName=sitecore_master_index",
          "handle": "3224a43a-0bb1-4be5-ac2f-91e781415be0;2AD160A8BF9F-Default Web Site",
          "status": {
            "total": -1,
            "messages": [
              "Job started: Index_Update_IndexName=sitecore_master_index"
            ],
            "processed": 0,
            "jobState": "RUNNING"
          },
          "done": false
        },
        {
          "name": "Index_Update_IndexName=sitecore_core_index",
          "handle": "e06da2e4-c129-4273-86be-945c5fbb5078;2AD160A8BF9F-Default Web Site",
          "status": {
            "total": -1,
            "messages": [],
            "processed": 0,
            "jobState": "RUNNING"
          },
          "done": false
        }
      ]
    }
  }
}

ジョブ名によるジョブステータスの確認

ジョブAPIを使用して、結果から返されたジョブ名またはジョブハンドルでジョブの詳細をクエリできます。

クエリ

query {
  # If both jobName and handle parameters are specified, the jobName parameter is ignored
  job(input: { jobName: "Index_Update_IndexName=sitecore_master_index" }) {
    name
    handle
    status {
      messages
      processed
      jobState
    }
    done
  }
}

結果

{
  "data": {
    "job": {
      "name": "Index_Update_IndexName=sitecore_master_index",
      "handle": "61519bfb-ff49-44bd-8957-9ef4ba4404a2;2AD160A8BF9F-Default Web Site",
      "status": {
        "messages": [
          "Job started: Index_Update_IndexName=sitecore_master_index"
        ],
        "processed": 4630,
        "jobState": "RUNNING"
      },
      "done": false
    }
  }
}

ワイルドカードを使用したジョブステータスの確認

ワイルドカードを使用して、使用可能なジョブの詳細を取得できます。

ワイルドカードのみでクエリを実行することも、ジョブ名フラグメントの前または後にワイルドカードを使用することもできます。具体的には:

  • * - すべてのジョブのステータスを返します。

  • *myjob - 名前がmyjobで終わるジョブのステータスを返します。

  • myjob* - 名前がmyjobで始まるジョブのステータスを返します。

  • *myjob* - 名前にmyjobが含まれているジョブのステータスを返します。

クエリ

query{
  jobs(input: { jobName: "*index" }
){
    nodes {
      name
      handle
      status {
        messages
        processed
        jobState
      }
      done
    }
  }
}

結果

{
  "data": {
    "jobs": {
      "nodes": [
        {
          "name":
"Index_Update_IndexName=sitecore_master_index",
          "handle":
"970372d7-df5a-418f-a603-d6c0b40ed52c;2AD160A8BF9F-Default Web Site",
          "status": {
            "messages": [
              "Job started: Index_Update_IndexName=sitecore_master_index"
            ],
            "processed": 1578,
            "jobState": "RUNNING"
          },
          "done": false
        },
        {
          "name": "Index_Update_IndexName=sitecore_core_index",
          "handle": "b009bb91-aeae-4d86-86b5-fac785f1861d;2AD160A8BF9F-Default Web Site",
          "status": {
            "messages": [
              "Job started: Index_Update_IndexName=sitecore_core_index"        
            ],
            "processed": 307,
            "jobState": "RUNNING"
          },
          "done": false
        }
      ]
    }
  }
}

エッジへのアイテムの公開

publishItemミューテーションを使用して、アイテムをエッジに公開できます。操作の状態を確認したい場合は、公開操作のoperationIdプロパティを返します。

クエリ

mutation{
  publishItem(
    input: {
      rootItemPath: "/sitecore/content/Home"
      languages: "en"
      targetDatabases: "experienceedge"
      publishItemMode: SMART
      publishRelatedItems: false
      publishSubItems: true
    }
  ) {
    operationId
  }
}

結果

{
  "data": {
    "publishItem": {
      "operationId": "cbbcaf09-ec02-42c8-bad6-df60ef05cc42;F497611F492C-Default Web Site"
    }
  }
}

公開ステータスを確認する

publishItemミューテーションによって返される操作識別子を使用して、発行操作のステータスを照会できます。

クエリ

query {
  publishingStatus(
    publishingOperationId: "cbbcaf09-ec02-42c8-bad6-df60ef05cc42;F497611F492C-Default Web Site"
 ) {
    state
    isDone
    isFailed
    languages {
      name
    }
    processed
    targetDatabase {
      name
    }
  }
}

結果

{
  "data": {
    "publishingStatus": {
      "state": "RUNNING",
      "isDone": false,
      "isFailed": false,
      "languages": [
        {
          "name": "en"
        }
      ],
      "processed": 1,
      "targetDatabase": {
        "name":
"experienceedge"
      }
    }
  }
}
この記事を改善するための提案がある場合は、 お知らせください!