We have microservices setup with Azure APIM as gateway and routers to all the services in the back. Is there anyway I can introduce GrpahQl before APIM or within APIM ?
To answer your immediate question, there is no support for GraphQL via Azure APIM to date.
Its one of these feature this has been upvoted by me and many others on Azure uservoice # GraphQL introspective support within API Management / feedback forums.
Also see What additional services should Azure provide?
UPDATED MAY 2022
Preview Features
Synthetic GraphQL allows you to easily create a GraphQL API based on your existing HTTP (SOAP or REST) APIs. This allows you to quickly upgrade your API to support modern client application development without affecting your existing infrastructure.
With this availability, you can:
Change your existing APIs into GraphQL to support modern client application development. Build a GraphQL API from existing SOAP, REST, and other HTTP APIs.
Augment your existing GraphQL API with third party APIs such as Microsoft Graph, Dynamics, Shopify, and Zendesk.
Announcement: https://azure.microsoft.com/services/api-management/#overview
Documentation: https://azure.microsoft.com/updates/public-preview-synthetic-graphql/
Assuming your backend APIs are written to support GraphQL, importing GraphQL APIs is now available (in preview, at the time of writing this response) by Azure API Management: https://learn.microsoft.com/en-us/azure/api-management/graphql-api
GraphQL validation policies are also available (in preview): https://learn.microsoft.com/en-us/azure/api-management/graphql-validation-policies
Related
I connected my swagger PetStore api to Azure using swagger Azure API Management integration.
Now that it made it in azure; Where do I implement the actual logic of querying my azure database etc?
Using swagger if I generate a Node server stub I get the following generated. But these are not available if I use API management integration.
In the Backend section I only see Logic Apps and endpoint options. I tried the Logic App stuff but it seems I need 50 logic apps if I have api that large...Am I missing something?
Maybe you need to use SwaggerHub.
The Swagger UI you are currently using belongs to the community version and should not support direct integration. Assuming there are 100 api interfaces, you need to add 100 times in azure apim.
I am about to delivery a serveless API in Function App, with 5 functions, and my client needs some sort of interactive documentation with the testing environment. They accept Swagger and graphql endpoints, but I insisted on pursuing the servelss aproach, so now I'm stuck with this quick problem. Should I simply make a swagger-like wrapper application? Is there any known framework that documents and exposes Function Apps?
Instead of a wrapper application, the official recommendation is to pair Azure Functions with Azure API Management (which also has a consumption-based plan) to expose your functions with a swagger definition.
Along with now having a swagger definition, Azure APIM provides lots of functionality like rate limiting, authentication, caching etc. which you can read more about in the official APIM docs.
I would like to develop a simple ToDo app using Xamarin. It should allow the user to sign in with an account and access their notes on multiple platforms.
Microsoft offer a number of sample applications using different APIs (https://developer.xamarin.com/samples/android/Web%20Services), but to a beginner, it seems unclear what the advantages and disadvantages are of the different methods. I'd be grateful if you could outline these for me for the differing technologies (e.g. CosmosDB, REST, ASMX, DocumentDB, Azure Mobile App, and OAuth).
CosmosDB:
Azure Cosmos DB is Microsoft's globally distributed, multi-model database service. With a click of a button, Cosmos DB enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide. For details You Could Check here
REST:
Representational State Transfer in short (REST), REST requires that a client make a request to the server in order to retrieve or modify data on the server. A request generally consists of:
an HTTP verb, which defines what kind of operation to perform
a header, which allows the client to pass along information about the
request
a path to a resource
an optional message body containing data
There are many good article you could found online. you can check here
ASMX:
.asmx is Active server methods. Webservices have this extension in dotnet. ASMX provides the ability to build web services that send messages using the Simple Object Access Protocol (SOAP). SOAP is a platform-independent and language-independent protocol for building and accessing web services. You can find more details here
DocumentDB:
CosmosDb is the evolved version of documentDb. It is also important to point out that DocumentDB’s SQL dialect has always been just one of the many APIs that the underlying Cosmos DB was capable of supporting.
Azure Mobile App:
Azure App Service is a fully managed platform as a service (PaaS) offering for professional developers. The service brings a rich set of capabilities to web, mobile, and integration scenarios. You can start good tutorial here
OAuth:
OAuth is an open-standard authorization protocol or framework that describes how unrelated servers and services can safely allow authenticated access to their assets without actually sharing the initial, related, single logon credential. In authentication parlance, this is known as secure, third-party, user-agent, delegated authorization. You could check here
There is an existing developer portal in Drupal that uses APIGEE to give 3rd party developers access to remote API and documentation. The portal is not configured and costumized correctly so for this reason the portal has many problems.The website has its own database but also uses APigee db.
My task is to create a website by using cms/probably will be wordpress/, migrate the users and the forum from the existing database and establish connection with the API provider.
The idea is not to use the dev portal provided by APIGEE and DRUPAL but just make my own and use some of the things provided by Apigee.
Could tou give me some directions is that possible and where I need to dive in more?
Thanks a lot!
All the developer management and key management features in Apigee is accessible using REST APIs (protected by role based access control aka RBAC)
You can always develop any portal or UI of your choice and invoke these APIs provided by Apigee to implement features such as
Creating a new developer
allowing the developer to subscribe to API products
allow the developer create and manage his own API Apps, Keys
allow the developer to view App analytics etc.
You can follow the API documentation here:
https://docs.apigee.com/api/apps-developer
I have a requirement to deploy multiple version of the same API app where the client older application use the existing and the new clients use the new api app which is got more functionality.
Is there a way to achieve this with Azure API Apps?
I have an article that shows how to do Transparent Versioning using API Management in front of API Apps.
The basic idea is that you have a version parameter in a URL and then use the set-backend-service to change which version of the API to access.