-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Call for maintainers: apollo-server-azure-functions #6032
Comments
sounds intresting! |
I took the latest AS4 PR codesandbox packages and got it working in an Azure Functions project. Supports APQ and standard POST along with CORS (or I verified sandbox worked). Here is the MVP repo, I'll plan on creating a home repo for this package in the near future using Apollo's template. @glasser do we have any ideas on what the community package naming conventions should be? should it still live as the name |
Apollo Server We now have a community GH org where people can create an integration repo as well as an NPM scope for publishing integration packages. If you'd like to be involved over there, feel free to get in touch with me. This is not a requirement for building and publishing an integration, but we wanted to offer a sensible place for these community-maintained packages to live. https://github.com/apollo-server-integrations |
Another approach would be to use |
Hi folks, I work at Microsoft, in the Cloud Advocacy team, and one of the areas I've spend a lot of time in over the past few years is GraphQL and have produced a lot of content on GraphQL + Apollo (including several workshops). I'd be keen to help get an official integration under the GitHub org that supports Azure Functions and the work that @michael-watson has done looks like a great starting point. As an aside, we're working on a new programming model for JS/TS Azure Functions (https://github.com/Azure/azure-functions-nodejs-library/wiki/Azure-Functions-Node.js-Framework-v4 covers in details) that might make it easier to produce an integration, but I don't have a timeline on when that'd ship. So in the meantime, what's the process to get an integration up and running? |
We can set you up with a repo in the GitHub org if you'd like. https://www.apollographql.com/docs/apollo-server/integrations/building-integrations has some basic info on what making an integration looks like. A somewhat open question is how to best enable folks to customize their function's behavior for frameworks that don't have a built-in concept of "middleware" or the like, though one answer may just be that the AF integration isn't super configurable and maybe that's fine? (and eg perhaps some configuration like CORS handling can happen outside the function itself?) |
Hey @aaronpowell, I've actually been working on some Azure Functions stuff on the side. We started up an org to create some community integrations and I was planning on contributing my Azure Functions work there in the near future. I just spun up a repo in there so that we can collaborate and get things going. I'll try and push some of my work to a branch there soon (might have time tonight) I also put together a demo awhile ago that is a good starting point to see how it could fit together. |
Awesome, I'm happy to help contribute to the repo if you'd find that useful, or assist with reviewing the implementation as it gets solidified.
Middleware is something that is traditionally more difficult in Azure Functions, but there's a few changes in the works to make this easier. The new programming model (which makes it look a bit more like Express/Fastify/etc.) can make it simpler to add your own middleware at a per-Function level (something I've spike a prototype to demo to the team). The other change that's rolling out is providing a series of hooks around the lifecycle of a Function (Azure/azure-functions-nodejs-worker#522 covers it off, but it's not fully deployed yet). Once the hooks feature is deployed (some are available, such as pre/post invocation, but app start/terminate aren't AFAIK), then it'll offer more flexibility with regards to middleware. I would expect that there will be some kind of translation layer between Azure Functions and Apollo, but that is something the integration would handle and be transparent to the user. |
Hey guys any plans to land the @michael-watson repo soon as the official Azure Function integration? Happy to help too, so please let me know what is left and/or what it's needed to make it happen. |
We've got a repo over at https://github.com/apollo-server-integrations/apollo-server-integration-azure-functions but I don't have publishing rights to npm to release
Get Outlook for Android<https://aka.ms/AAb9ysg>
…________________________________
From: Geovanny Alzate Sandoval ***@***.***>
Sent: Friday, January 6, 2023 1:43:11 PM
To: apollographql/apollo-server ***@***.***>
Cc: Aaron Powell ***@***.***>; Mention ***@***.***>
Subject: Re: [apollographql/apollo-server] Call for maintainers: apollo-server-azure-functions (Issue #6032)
Hey guys any plans to land the @michael-watson<https://github.com/michael-watson> repo soon as the official Azure Function integration? Happy to help too, so please let me know what is left and/or what it's needed to make it happen.
—
Reply to this email directly, view it on GitHub<#6032 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AADJ7XHZOBNKPENOCNDQTGDWQ6BD7ANCNFSM5MZLWPKQ>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
I'm going to close this since it looks like @aaronpowell has been fairly active on that repo lately and I've opened an issue over there to get them setup for publishing to NPM. |
As described in the roadmap, Apollo Server 4 will shift from the model of "9 web framework integrations maintained by a team who only uses one of them and nope, you can't create your own" to "a stable web framework integration API that anyone can use for their favorite web framework".
As part of this, the Apollo Server core team is no longer planning to maintain
apollo-server-azure-functions
. We think users of Azure Functions are best served if their framework integration is maintained by a team of people who use Azure Functions every day.This is where you come in! Do you love Azure Functions? Do you use it with Apollo Server? Would you like to be part of a team of community members who maintain
apollo-server-azure-functions
?If so, chime in below! We'd love to find a group of people who will maintain the Apollo Server 4 version of
apollo-server-azure-functions
, and to help us maintain the section of the Apollo Server docs that shows how to use Apollo Server with Azure Functions.We expect that maintaining this package will be more straightforward than maintaining an Apollo Server integration today, because its only responsibility will be translating Azure Functions' HTTP request and response objects to the formats used by Apollo Server's new API.
At the time that this issue is opened, we are actively looking for interested collaborators; however, the API you'll be implementing isn't yet ready. We can use this issue to get a team together who can get started at some point between an initial alpha release of the new
@apollo/server
package and the final v4.0.0 release.Some Azure Functions-specific notes:
apollo-server-azure-functions
is that the package contains a lot of code to parse Azure Functions events into another HTTP representation. It doesn't provide much of a way to customize handler behavior. The new version could keep doing this, or you could see if there's a good Azure Functions middleware library that you could make a middleware from. Or you can keep an eye on this@vendia/serverless-express
PR which would allowapollo-server-azure-functions
to work more likeapollo-server-lambda
does by letting you execute an Express app in an Azure Function.ApolloServer
state machine when in "serverless mode".The text was updated successfully, but these errors were encountered: