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.
- Node.js v16 or later
- Azure Functions v4 or later
- GraphQL.js v16 or later
- Apollo Server v4 or later
npm install @as-integrations/azure-functions @apollo/server graphql @azure/functions
- Setup an Azure Function with TypeScript (or JavaScript) as per normal.
- Create a new HTTP Trigger
- 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),
});
- 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"
}
- Run the Azure Functions app and navigate to the function endpoint
- Aaron Powell (aaronpowell)