Scott Hanselman

Introducing Azure Resource Explorer for the Azure Resource Management APIs

April 9, '15 Comments [10] Posted in Azure | Web Services
Sponsored By

When managing Azure resources (Virtual Machines, Web Apps, etc) I like to do most of my work in Azure from the command line using the "Azure xplat cli" - the Azure Cross Platform Command Line Interface. It's an Open Source node.js app that you can get with "npm install -g azure-cli" and it calls the backend REST services that all of Azure uses to manage itself. In fact, when you are using the Azure Portal it's calling the same backend.

It's mostly an "Azure Noun Verb" structure, as you can see in the figure below. You can Azure Site Create or Azure VM Restart, etc.

Azure Command Line Syntax

You can ALSO add --json to the xplat cli to see a JSON representation of the result of your call. So Azure Site List --json gives you a lot more information than without the json switch.

There's a PowerShell interface to Azure, this xplat nodejs one I'm using, as well as other libraries like the Azure Management Libraries for .NET again, all calling the backend REST API.

However, that REST API is huge and confusing. Enter David Ebbo, a Principal Development Lead on the Azure App Platform. He's made the Azure Resource Explorer at https://resources.azure.com as a great way to explore the Azure Resource Management APIs visually and interactively!

And, wait for it, Azure Resource Explorer is, of course, Open Source and hosted here at GitHub https://github.com/projectkudu/ARMExplorer. It's a preview/beta and not done, but we're all interested in what YOU think! Does it do what you'd expect? Feel free to add issues and get involved in the repository.

Go hit http://resources.azure.com/ and login with your Azure Credentials. It's an Object Explorer if you've ever used Visual Studio to move around a large object model, except this is a resource try of all the hypermedia nodes within your view of Azure.

Azure Resource Explorer

Here I am moving around my Web Applications that I host in the West US Region of Azure. I can see the deployment slots for staging and production, the source control system and web hooks that deploy my site and lots more. Notice that I can click Actions as well, and (when I turn Read-Only off) perform POST and DELETE calls that will affect my Azure resources.

If you're familiar with Postman, the REST API development tool, this is kind of like Postman for Azure. Here's a 5 min YouTube video by David Ebbo walking you through the Azure Resource Explorer.

To be clear, this is NOT a new Portal, and it IS very low level. This is a tool for folks who want to know what's really going on when an Azure API is called. Perhaps you're creating your own explorer or your own API client in another language. This tool can give you documentation and live examples on how to call those APIs correctly.

Again, it's Open Source and hosted here at GitHub. They would be thrilled to hear your thoughts. Is this useful? In what direction would you like it to go?

By the way, if you'd like to try Azure for an hour for free without signing up for any trials or anything, go check out http://try.azurewebsites.net and play! Also, check out Azure Friday at http://friday.azure.com and subscribe on iTunes.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb
Thursday, 09 April 2015 04:58:05 UTC
Chrome extension?
Glenn Block
Thursday, 09 April 2015 05:08:47 UTC
Good idea!
Scott Hanselman
Thursday, 09 April 2015 05:26:08 UTC
There is an "api" parameter to the calls, e.g. "?api-version=2014-04-01". Whats the strategy of Microsoft supporting older api versions? cheers, Michi
Thursday, 09 April 2015 07:58:36 UTC
Checkout David Ebbo's ARM client too.here
Thursday, 09 April 2015 11:31:58 UTC
Hi Scott,

I would love to use the commandline extension, but I have a problem with it:
My Azure Subscription runs on my MSDN Abonnements mail address (hotmail).
This is not considered a valid address to login to.

If I create an additional user in the Active Directory in Azure, which I could use to login, the users always is greeted with "You have no subscription".
How can I provide this user with access rights to my subscription?

If I go into my subscription it seems there can only be ONE administrator for services.

Thanks for your help,
Andreas
Andreas Kroll
Thursday, 09 April 2015 16:41:40 UTC
One of the things I'm unclear on with the API is how to correctly obtain the subscription information in the scenarios I'd like to use it. For example, I had an idea for a service that developers can use to automatically start/stop dev VMs at a certain schedule. Or a web-based storage explorer. Ideally, I'd be able to do some sort of OAuth flow where the user can allow App XYZ management rights for a subscription, without having to make any change to their Azure Subscription (such as configure Azure AD). Similar to FaceBook or Twitter APIs, it would redirect to an authorization page and then land back in my app with a token. I see in the github repo that it includes some OAuth against Azure AD. Where would one get the client id and secret for this though, and would it have to be a different client id and secret per tenant?
Thursday, 09 April 2015 21:31:19 UTC
@Andreas-

Look into adding a co-administrator to your subscription. From the "old" portal Settings -> Administrators -> Add. see the MSDN documentation

Hope this helps....
Saturday, 11 April 2015 06:13:30 UTC
Nice article and explanation, man! Thanks.
Saturday, 11 April 2015 13:23:09 UTC
@Clarkin:

Thanks, that worked like a charm! Swarm-Intelligence is the best. :-)
Andreas Kroll
Saturday, 18 April 2015 11:46:54 UTC
I tried that azure website . It was nice . thanks scott /.
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.