Can I create Azure MobileServiceClient instance with Azure Function App url instead of creating an Azure Mobile App? - azure

My purpose is to build my mobile app backend serverless.
Now, when I try to create MobileServiceClient instance, it asks for an Azure Mobile App URI, can this URI be an Function App URI or it has to be only Mobile App?

You should be able to handle the mobile apps server logic with functions, though you'll be rolling all of this on your own.
One possibility: deploy a mobile app which uses the Azure Mobile Apps sdk at the root of your function app (they're both built on top of Web Apps). Then, use proxies / functions to handle any custom api calls from the mobile client so that you can convert over at your own pace.

Related

Azure web and mobile app (shared API)

I'm currently in the planning process for a mobile app I'd like to build, with a companion web app. The Mobile app and the Web app will share common data (for example, users can take a questionnaire in the mobile app or take the same questionnaire on the web app).
I've used Azure a couple of years ago to create and host a web app, but this is my first venture in mobile development. I'm trying to wrap my head around the architecture in Azure for hosting the API.
I've searched high and low, but either can't find a definitive answer to my question, or am not quite understanding what I am reading on the subject.
Basically: Where would my API live in Azure? Would I create a Mobile App in my App Service, which hosts the shared web API? Then create a Web App in the app service, and use something like RESTSharp to access the API from the web app?
AFAIK, Web Apps and Mobile Apps are just different types of Azure App Service Apps which use to host the relevant applications (e.g. WebApps host website,webapi and MobileApps serve as the mobile backend service). Basically, they are the same and the difference between them is the app type and the Quickstart tutorial for them.
For mobile development, you could leverage the relevant SDKs (server-side and client-side) provided by Mobile Apps. You could also deploy your mobile backend application to Azure Web Apps to get the Mobile Functionality.
For Web Apps, you could follow here to build your web application and deploy to web app. For Mobile Apps, you could follow here to build your mobile backend and the tutorials for building your mobile client project.
Basically: Where would my API live in Azure? Would I create a Mobile App in my App Service, which hosts the shared web API? Then create a Web App in the app service, and use something like RESTSharp to access the API from the web app?
AFAIK, for Azure Mobile Apps backend, you could choose Node.js or C#. The relevant server SDKs provide out-of-the-box CRUD operations against the table. I would use the Mobile Apps SDKs to build my backend project and provide the ability to do operations on the specific table and the custom Web API to handle other operations. For your web app, you could use RESTSharp or just leverage the client SDKs provided by Azure Mobile Apps to communicate with your mobile backend endpoint (hosting on a web app or a mobile app).
For C# mobile app backend and mobile client side tutorials, you could follow adrian hall's book here.
For Node.js related mobile backend development, you could follow 30 DAYS OF AZURE MOBILE APPS.

Azure API App how to use single hosted api for both Mobile and Web

This question is related to following questions but not the same question
How can i integrate Azure Mobile App win Azure API app
How to combine azure AppServices API, Mobile and Web apps
I have been trying to setup an API to use with my mobile app(Xamarin) and Web app(Angular or ASP.NET MVC). I wanted to use "Azure App Service".
As i understand there are three things in Azure app service
Web Apps
Mobile Apps
API Apps
I wanted to select the "API APPS" as i wanted to use my Existing ASP.Net Web Api and wanted to expose the Api to swagger. Also I wanted to share this api with Mobile app as well as Web App.
Based on the documentation "API APPS" can be consumed by Mobile and Web clients.Web client is OK but i need to use Azure Mobile features(such as Single Authentications,Notifications,Offline Sync with Sql lite and etc ) to make things easy in Mobile app.
As per answers for above questions and the documentation, i can install mobile app back-end packages to ASP.Web API and host it as "Mobile APPS". So i can use all the features related to mobile.
My problem if i install the mobile back-end, can i use the same API
for Web Front end? Because I am hosting it as "Mobile APPS" service
not the "API APPS" service.
How can I share a single API host with mobile client (With Mobile back end feature) and Web client?
Is it possible to install the Mobile back-end packages and host the
API as "API APPS" , then use Mobile SDK in Xamarin app and the HTTP client or other client in Web APP to consume the same API?
If you want to use the Azure Mobile client SDK, especially features like offline sync, then you need to use the Azure Mobile server SDK. It's a set of NuGet packages that simply extend ASP.NET Web API.
If you want to roll your own mobile client, or just use the authentication feature, then you don't need to use the Azure Mobile server SDK and you can use just Web API.
If you do want to use the server SDK, we have samples that show how to consume this TableController API from a web client:
https://github.com/azure-appservice-samples/contosomoments
Azure App Service field engineer sample with web admin portal and offline-sync-enabled Xamarin.Forms client

Azure - Making an API App available to a Logic App

I've created a web application API with a swagger interface that I've deployed as an API App to Azure.
When creating a Logic App I can find my API App but whenever I try to use it I get the following error:
Failed to fetch swagger. Ensure you have CORS enabled on the endpoint
and are calling an HTTPS endpoint.
I'm using the default https url for the API definition in the API App:
https://microsoft-SOME-LONG-MS-INTERNAL-ID.azurewebsites.net/swagger/docs/v1
The swagger docs have been provided in my C# web API application through Swashbuckle.
For CORS I've set a single * item.
This didn't seem sufficient for the Logic App to access the API App I then configured Authentication / Authorization for the API App to use Azure Active Directory (express), creating an AD Azure App.
I believe the issue will be one of configuring security which is all pretty new to me in Azure. I'd like to make the API App inaccessible externally, but available to Web Apps and Logic Apps within my Azure subscription.
I've not added any authentication mechanism to the ASP.NET web application itself as I figured the web application would effectively be sitting in a private network on Azure. Perhaps this is a bad assumption and I need to add authentication to allow Azure AD to work?
Any pointers / suggestions?
Turns out I needed to update the Azure SDK for Visual Studio. I had an older version that was deploying a preview Api App which resulted in a "Api app host" type being deployed rather that an "API app" type.
Everything works after the update and I've found some documentation for securing the API App and making it available in the Logic App - https://azure.microsoft.com/en-us/documentation/articles/app-service-logic-custom-hosted-api/

Azure Mobile App Service

I would like to create a mobile app with Xamarin Forms and would like to use the new Azure Mobile App PaaS service. This mobile app shall be available also to users which uses my services from a web site and not only from a mobile device.
In regards to Authentication how can I have a single authentication point available either from a web site as well as from the mobile app?
Does anyone have suggestions on how to design this architecture?
The Azure App Service, the Mobile Apps backend service is really just a Web API running in Web Apps (think web site + mobile goodness), with all features of App Service sharing the same authentication endpoint. This means that any authentication you setup for mobile device clients can also be used by a web site. This topic should point you in the right direction: https://azure.microsoft.com/documentation/articles/app-service-mobile-auth/

How can i integrate Azure Mobile App win Azure API app

We are building a mobile cross platform solution with Xamarin (Xamarin.Forms).
We developed a backend API in Azure with Azure API Apps.
Now we want to integrate and use Mobile Apps (Mobile Services) but using Azure API Apps we created previously.
I see this BUILD presentation https://channel9.msdn.com/Events/Build/2014/3-623
and the idea i think is to use ApiController and call to Azure API Apps there.
Is this correct? Some sample? How can i do? I must have 2 projects API Apps + Mobile Apps? or I must integrate in one (only one API)?
You could potentially have your mobile clients connect to your API app, but you'll have an easier time if you convert your API App to use the Mobile App backend packages. Another option is to have your Mobile App backend connect to the API app, but that's a lot of hops without much benefit.
For details on these packages, see How to work with the .NET backend server SDK for Azure Mobile Apps.
For a step-by-step tutorial, start with Create a Xamarin.Forms app on Azure Mobile Apps.

Resources