An integration for Apollo Server on Azure Functions
npm install @as-integrations/azure-functionsAn 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 v22 or later
- Azure Functions v4 or later
- GraphQL.js v16 or later
- Apollo Server v4 or later
``bash`
npm install @as-integrations/azure-functions @apollo/server graphql @azure/functions
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
`ts
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
`ts
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),
});
`
4. Update the function.json HTTP output binding to use $return as the name, as the integration returns from the Function Handler (v3 only):
`json``
{
"type": "http",
"direction": "out",
"name": "$return"
}
5. Run the Azure Functions app and navigate to the function endpoint
- Aaron Powell (aaronpowell)
- Charles Fonseca (barddoo)