イベントサブスクリプションのクエリ例

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

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

以下のGraphQLタイプのサブスクリプション操作でイベントサブスクリプションを行うことができます:

  • アイテム
  • 職務
  • 出版

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

IISでWebSocketを有効にする

Graphqlのサブスクリプションは、2つの通信手段にWebSocketが必要です。

Windows Internet Information ServicesでWebSocket機能を有効にし、アクセストークンで認証するには:

  1. コントロールパネルでWindows機能 を開き、WebSocketプロトコル機能を有効にしてください。

    The Windows Features dialog
  2. 機能が有効になったら、WindowsのIISにアクセスし、ルートサイトをクリックします。

  3. 管理下で「設定エディター」をクリックします。

  4. セクション のドロップダウンボックス で「system.webServer/webSocket」と入力し、右側の「 Unlock Section」をクリックしてください。

    The Configuration Editor
  5. SitecoreCMInstance web.configに追加してください:

    <system.webServer> </system.webServer>

  6. アクセストークンを作成しましょう。

  7. NodeJSでWebSocket GraphQLクライアントを作成する際は、graphql-wsを使ってAuthoringエンドポイントに接続する際、以下の例のようにアクセストークンを使用してください。

    import { createClient } from "graphql-ws";

    export const wsClient = createClient({ url: "wss://{cm_instance_url}/sitecore/api/authoring/graphql/v1", connectionParams: () => ({ access_token: `{access_token}` }), on: { connecting: () => console.log(" Connecting WS..."), connected: () => console.log(" WebSocket connected"), closed: (e) => console.log(" WebSocket closed:", e), error: (e) => console.log(" Full keys:", e) } });

アイテムのクエリ例

以下のセクションでは、イベントサブスクリプションに関する例のクエリを掲載しています。

アイテム追加時に

onItemAdaddedのサブスクリプションで「on item added」イベントデータを受け取ることができます。

クエリ

subscription { onItemAdded(input: { database: "master"}) { name displayName path } }

結果

Data: onItemAdded: displayName: "test item" itemId: "5f18db1b7afa43e99b6c84f7a0cb3bd8" name: "test item" path: "/sitecore/content/Home/test item"

オンジョブ開始

onJobStartedのサブスクリプションで「オンジョブスタート」イベントデータを受け取ることができます。

クエリ

subscription { onJobStarted(input: { jobName: "Sitecore.ListManagement.Operations.UpdateListOperationsAgent" }) { name jobState expiry done category queueTime handle siteName displayName } }

結果

Data: onJobStarted: category: "schedule" displayName: "Sitecore.ListManagement.Operations.UpdateListOperationsAgent" done: true expiry: "2025-12-15T11:`35

`.216Z" handle: "cef968ae-ba25-46ae-b06e-4020c2b84ba1" jobState: "Finished" name: "Sitecore.ListManagement.Operations.UpdateListOperationsAgent" queueTime: "2025-12-15T11:`34
`.215Z" siteName: "scheduler"

出版状況更新

publishingStatusUpdatedのサブスクリプションで「publishingStatusUpdated」イベントデータを受け取ることができます。

クエリ

subscription { publishingStatusUpdated(input: { operationId: "1bac04b7-8b97-4756-b0c9-38dcacc89b5b " }) { isDone isFailed state processed } }

結果

Data: publishingStatusUpdated: isDone: true isFailed: false processed: 104 state: "Finished"

この記事を改善するための提案がある場合は、 お知らせください!