在 Azure Functions 中使用 Apollo Server 连接到多个数据库

问题描述 投票:0回答:0

我按照 this toturial 使用 Apollo Server 使用 Azure Functions 构建 Azure 静态 Web 应用程序。但是,我现在需要连接到多个数据库(一个是 Cosmos DB,另一个是 Azure blob 存储),我只找到了使用

apollo-server-express
和中间件为连接到不同数据库的不同 Apollo 服务器分配不同路径的示例.不过好像
apollo-server-azure-functions
包不支持中间件

有没有其他方法可以使用 apollo-server-azure-functions 连接到多个数据库?谢谢。

我的第一个 Apollo 服务器是


import { GraphQLFileLoader } from "@graphql-tools/graphql-file-loader";
import { loadSchemaSync } from "@graphql-tools/load";
import { addResolversToSchema } from "@graphql-tools/schema";
import { ApolloServer } from "apollo-server-azure-functions";
import { join } from "path";
import { cosmosDataSources } from "./data/index";
import resolvers from "./resolvers";


let dataSources = cosmosDataSources


const schema = loadSchemaSync(
  join(__dirname, "..", "..", "graphql", "schema.graphql"),
  {
    loaders: [new GraphQLFileLoader()],
  }
);

const server = new ApolloServer({
  schema: addResolversToSchema({ schema, resolvers }),
  dataSources,
  context: {},
});

export default server.createHandler({
  cors: {
    origin: ['*', "https://studio.apollographql.com"],
    methods: ["GET", "POST", "OPTIONS"],
    allowedHeaders: ["access-control-allow-credentials", "access-control-allow-origin", "content-type"]
  },
});

并且我尝试按照 本教程 为 blob 存储添加另一个连接,但不确定我应该在哪里添加新服务器以及从哪里启动客户端。

azure azure-functions apollo-server
© www.soinside.com 2019 - 2024. All rights reserved.