@as-integrations/azure-functions
v0.2.0
Published
An integration for Apollo Server on Azure Functions
Downloads
10,616
Readme
Apollo Server Integration for Azure Functions
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
- Node.js v16 or later
- Azure Functions v4 or later
- GraphQL.js v16 or later
- Apollo Server v4 or later
Installation
npm install @as-integrations/azure-functions @apollo/server graphql @azure/functions
Usage
- 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
Contributors
- Aaron Powell (aaronpowell)