Skip to content

Latest commit

 

History

History
104 lines (77 loc) · 2.87 KB

File metadata and controls

104 lines (77 loc) · 2.87 KB

Apollo Server Integration for Azure Functions

Build Release npm (scoped)

Introduction

An Apollo Server integration for use with Azure Functions.

This is a simple package allows you to integrate Apollo Server into an Azure Functions app.

Requirements

Installation

npm install @as-integrations/azure-functions @apollo/server graphql @azure/functions

Usage

  1. Setup an Azure Function with TypeScript (or JavaScript) as per normal.
  2. Create a new HTTP Trigger
  3. Update the index.ts to use the Apollo integration:

v3

import { ApolloServer } from '@apollo/server';
import { startServerAndCreateHandler } from '@as-integrations/azure-functions';

// The GraphQL schema
const typeDefs = `#graphql
  type Query {
    hello: String
  }
`;

// A map of functions which return data for the schema.
const resolvers = {
  Query: {
    hello: () => 'world',
  },
};

// Set up Apollo Server
const server = new ApolloServer({
  typeDefs,
  resolvers,
});

export default startServerAndCreateHandler(server);

v4

import { ApolloServer } from '@apollo/server';
import { v4 } from '@as-integrations/azure-functions';

// The GraphQL schema
const typeDefs = `#graphql
  type Query {
    hello: String
  }
`;

// A map of functions which return data for the schema.
const resolvers = {
  Query: {
    hello: () => 'world',
  },
};

// Set up Apollo Server
const server = new ApolloServer({
  typeDefs,
  resolvers,
});

app.http('graphql', {
  handler: v4.startServerAndCreateHandler(server),
});
  1. Update the function.json HTTP output binding to use $return as the name, as the integration returns from the Function Handler (v3 only):
{
  "type": "http",
  "direction": "out",
  "name": "$return"
}
  1. Run the Azure Functions app and navigate to the function endpoint

Contributors