8.2. Data Sync サーバーでのリアルタイム更新の実装


次のコードは、サブスクリプションのないData Sync サーバーの一般的なコードを示しています。

const apolloServer = VoyagerServer({
  typeDefs,
  resolvers
})

const app = express()
apolloServer.applyMiddleware({ app })

app.listen({ port }, () =>
  console.log(`🚀 Server ready at http://localhost:${port}${apolloServer.graphqlPath}`)
)
Copy to Clipboard Toggle word wrap

次のセクションでは、リアルタイム更新を有効にするために必要な手順の概要を説明します。

  1. SubscriptionServer を実装する
  2. パブリッシュサブスクライブメカニズムを実装する
  3. スキーマでサブスクリプションを定義する
  4. リゾルバーを実装する

8.2.1. voyager-subscription を使用した SubscriptionServer の実装

スキーマに GraphQL サブスクリプションタイプを作成できるようにするには:

  1. @aerogear/voyager-subscriptions パッケージをインストールします。

    $ npm i @aerogear/voyager-subscriptions
    Copy to Clipboard Toggle word wrap
  2. @aerogear/voyager-subscriptions を使用して SubscriptionServer を設定します

    const { createSubscriptionServer } = require('@aerogear/voyager-subscriptions')
    
    const apolloServer = VoyagerServer({
      typeDefs,
      resolvers
    })
    
    const app = express()
    apolloServer.applyMiddleware({ app })
    const port = 4000
    
    const server = app.listen({ port }, () => {
      console.log(`🚀 Server ready at http://localhost:${port}${apolloServer.graphqlPath}`)
    
      createSubscriptionServer({ schema: apolloServer.schema }, {
        server,
        path: '/graphql'
      })
    })
    Copy to Clipboard Toggle word wrap

    createSubscriptionServer コード:

    • SubscriptionServer インスタンスを返します
    • ハンドラーをインストールします

      • WebSocket 接続を管理する
      • サーバーでサブスクリプションを配信する
    • @aerogear/voyager-keycloak などの他のモジュールとの統合を提供します。

関連情報

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る