Windows Azure Mobile Services REST API documentation - azure

Is there any management API in Windows Azure Mobile Services? For example: methods to create mobile services or data tables. I could not find any documentation. I have read in some other thread that the API is available but not available publicly. Any expectation about its availability.

There is no REST API for managing Windows Azure Mobile Services, for operations like you mentioned (creating / configuring services; creating / configuring tables; etc). If you want to script those operations you can use the Azure command-line interface - that will let you perform those operations in the command line (for example via a batch / shell / command line script). That tool is implemented in node.js, so you can also use it in a node.js application, by using the azure-cli package.
There is a REST API for using a specific Azure Mobile Service - and you can find the documentation for it at http://msdn.microsoft.com/en-us/library/windowsazure/jj710108.aspx.

Related

Is it possible to use the Direct Line API protocol that is through an azure bot service for an on-premise environment?

The question I have is can you use the Microsoft Bot Framework service via an on-premise solution through, ideally a docker container, ~~or at least an Azure Stack installation~~ (not available currently through azure stack)? We need a 100% on premise solution that will utilize LUIS and other Azure services but still be on-premise when utilizing the chat bot.
The problem is the bot almost requires a solution that is through the direct line api which authenticates through a token. This token is generated through an azure service, if it's not the secret, and the direct line api is through a registered bot application through an azure service.
Although there is LUIS container support, meaning a localized docker container that can pull down azure cognitive services and use them through that container, there doesn't seem to be any support for the bot framework service. Which just seems bizarre to not have one without the other.
https://learn.microsoft.com/en-us/azure/cognitive-services/cognitive-services-container-support
But, that's ok if utilizing an Azure stack that would perhaps solve a lot of on premise solutions. It could even be the hybrid variation where lLis and other aspects are through traditional cloud services but the bot service has to be on premise and able to utilize the direct Line api. If possible. Or what is another solution?
Would it have to be traditional restful api calls and what would be missing from a deployed nodejs or C# bot to the cloud. Perhaps I am missing something in the architecture but the need described is 100% off premise
You will want to look into offline DirectLine. This is an unoffical package, but it is open source.

Does the Azure CLI use the Azure Rest API

Does the Azure CLI SDK use the Azure Rest API internally? And if so any further details on how these relate to each other internally would be great.
Yes, you are right. Azure CLI uses Azure Rest APi.
If you use --debug, you will find the API the command use. For example:
az vm list --debug
Yes, as Johan said, Azure Power Shell/CLI, SDK all call Azure Rest API. If you use debug mode, you could see the API. More information about Azure Rest API, you could check this link.
Each service in Azure exposes a set of APIs. For managing/creating/updating your resources (e.g. creating a Virtual Machine), these are REST calls. Note: Other services may use non-HTTP/REST APIs (e.g. AMQP for Azure Service Bus).
While you can use your favorite HTTP networking stack or utility (e.g. curl, postman etc.) to make HTTP/REST calls, Microsoft publishes a set of SDKs to make things easier to develop applicationsin various languages.
The Azure CLI happens to be implemented in python, and thus makes use of the Azure Python SDKs to get its work done.
There is no separate Azure CLI SDK, however.

How to use my own API instead of using mobile API in Azure

is there any way to publish my API in azure mobile service API instead of using its own. I want just to know it, because assume I have a backup server in amazon and as you know I don't have access to azure sdk in there and it means technically I cant use the API anywhere outside the azure.
Azure mobile services is actually based on the .Net web api in their C# flavor and on node.js on the Javascript side. You could surely write an API using those technology and have the same behavior. You will gain the fact of being more portable, however you will lose some of the preconfigured stuff from Mobile services.
If you are using .NET, please check this to see how to build a Web api! http://www.asp.net/web-api.
If you are using Javascript, here is where you should start : https://nodejs.org/
Both tech are quite easy to learn and super powerfull, have fun! When your API is built, you could just publish them as an azure Web APP (http://azure.microsoft.com/en-us/services/app-service/web/) or an Azure API (https://azure.microsoft.com/en-us/services/app-service/api/) instead of the mobile App
Hope it helps, if you have more questions, please ask!
You can create and publish your own custom APIs in azure mobile service. You could even access in via azure mobile service sdk in client by using "InvokeApiAsync<>()" method.
https://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn614130.aspx
If you want to access the api via fidder/httpclient than AZM SDK, pass the mobile service key in HTTP header as Name:'x-zumo-application' value:'application key from portal'

How does Windows Azure Mobile Services differ from Azure Cloud Services?

I need to connect to a middle tier (think Azure) between both my Windows store app and WP8 app. Windows Azure Mobile Services has been proffered as a/the solution.
But am I reading too much into the name "...MOBILES Services" (as one of the pieces is not a mobile app, but runs on desktops, laptops AND tablets)?
In my case, am I better off with Azure Cloud Services as opposed to Windows Azure Mobile Services?
Windows Azure Mobile Services is a fast, easy way to get a back-end in the cloud for your mobile apps and Windows 8 apps (it's fine if your Windows 8 apps aren't necessarily targeting mobile devices). It includes the things most commonly needed in a back-end, such as authentication, database storage, and push notifications. There's no server-side development needed here, you just request the back-end and moments later it's ready to use; however, if you do want server-side logic you can add it in the form of JavaScript scripts.
Alternatively, you could build your own back end in the cloud using a combination of Windows Azure Cloud Services such as the Compute, Storage, and SQL Database services. You have access to more features at this level, but you also are doing your own development. You can write server-side logic in C#, VB.NET, PHP, Java, Python, etc. as you prefer.
Which should you use?
If Windows Azure Mobile Services meets your needs, and you'd rather focus on your mobile app than learning anything cloud-specific, that's likely the best path for you.
If you're conversant with the Windows Azure platform, and need features different from what WAMS provides, that suggests creating your own back end with Cloud Services.
If you're not sure which way to go, I suggest experimenting first with WAMS since it is quick and painless to get started.
Azure mobile services is designed to get you up and going with storing data, push notifications and authentication whichever of those components you might need.
It abstracts the need of creating a data access layer and a web/wcf service to access it from your applications; it's simply there to boilerplate as much functionality off the bat.
This however does not mean that it is only for mobile applications, behind it all is a normal SQL Azure database and an API that you can use from any .NET based application.
I would reason that if you need more than basic CRUD operations and won't be using authentication and push notifications, I would roll my own set of APIs and DAL and use cloud services instead.
If you need a flexible schema, boilerplate data access and want to use some of the other mobile services, it would suit you quite well.
Here is a link to getting going with mobile services from a non Windows8 or WP - ASP application : link

Is there a way to call Windows Azure Service Management REST APIs without writing program code

We are looking for a tool which can call Windows Azure Service Management REST APIs directly (i.e. without writing source code) so that operators can easily call them.
What we found so far is:
Fiddler cannot call them. [Source: Get Hosted service details with GET Request URI with fiddler ]
cURL can call them. [Source: http://social.msdn.microsoft.com/Forums/en-AU/windowsazuremanagement/thread/f1cf3322-a8e3-4179-a35e-6bfb2fd55075 ] So we now use cURL but cURL is a CUI program but GUI program is much easier for operators. And we need extra work to convert certificate (=.pfx) to .pem.
Windows Azure PowerShell Cmdlets ( http://wappowershell.codeplex.com/documentation ) is also one of our options now but it is much better if we can call REST APIs directly. The reasons are 1)testing purpose. Some time we want to call REST API, not wrapped one. 2)There is some time lag before the Cmdlets implement REST APIs. (If I remember correctly, when Storage Analytics was introduced we need to call REST API to use it. But there was no Cmdlets at that time.)
How about using the BURP Tool? Burp is a great Java based tool to use REST API directly in the GUI. You can use Burp tool to setup the PFX certificate used with Azure Management and then just type REST API and parameters to send request and get response.
You can download the tool below:
http://portswigger.net/burp/proxy.html
I tested the tool today and then written the following blog to explain how to configure Burp to Manage Windows Azure subscription and services using REST API.
http://blogs.msdn.com/b/avkashchauhan/archive/2012/05/16/windows-azure-management-using-burp-java-based-gui-tool-and-rest-api.aspx
In addition to Azure Powershell Cmdlets, check out Cerebrata's Powershell Cmdlets # http://cerebrata.com/Products/AzureManagementCmdlets/

Resources