簡體   English   中英

我可以強制 Apollo Supergraph 指向特定的子圖嗎?

[英]Can I force an Apollo Supergraph to point to specific Subgraph?

我正在構建一個帶有 Apollo 路由器的 GraphQL Federated 項目,通過 Supergraph arquitecture 建立一個集中式 API 的多個端點,基於 Apollo Docs,並使用 Rover 進行組合: https://www.apollographql.com/docs/federation/quickstart /本地組合

該模式是使用來自graphql的 GraphQLObjectType 和來自@apollo/subgraph subgraph 的 buildSubgraphSchema 構建的

我目前的問題是,在項目內部,我有兩個相同的 API 實例,它們具有完全相同的代碼,但由於內部需要而具有不同的環境變量:

  • Domain_1_API <--
  • 域_1_API2 <--
  • Domain_2_API
  • Domain_3_API

例子:

  • Domain_1_API 架構:
type Company {
  id: ID
  name: String
  address: String
  • Domain_1_API2 架構:
type Company {
  id: ID
  name: String
  address: String
  • 超圖結果:
type Company
  @join__type(graph: DOMAIN_1_API)
  @join__type(graph: DOMAIN_1_API2)
{
  id: ID
  name: String
  address: String

這會生成一個合並的 SuperGraph,其中所有請求 go 直接發送到 Domain_1_API。

是否可以構建一個 Supergraph,將兩個相等的子圖模式識別為單獨的模式,和/或攔截發送到 Supergraph 的請求,並根據請求的標頭,專門指向 Domain_1_API 或 Domain_1_API2?

我嘗試使用基於文檔的 Rhai 插件: https://www.apollographql.com/docs/router/customizations/rhai/ ,但我不知道 Rhai。

不可能。 我最終做的是建立第二個聯合會,它使用 Domain_1_API2 作為子圖組成其超圖,而第一個聯合會使用 Domain_1_API。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM