Is it possible to get programmatic access to Azure billing info? - azure

Is it possible to get programmatic access to Azure billing information?
I am aware that you can download a .csv file but that doesn't meet my requirements. I'd really like an API to access the current live billing data.
I can't find anything but I've seen a couple of applications that suggest its possible to do this - http://www.youtube.com/watch?v=ETs-NgnZV_U.
Thanks.

Azure now does provide ways to programmatically retrieve your resource usage and pricing data: https://weblogs.asp.net/scottgu/new-azure-billing-apis-available

At this tmie it is not. Quest tools scrap data from HTML of the web-pages afaik

The APIs Moinak refers to seem to be old APIs (we used them before switching to Azure Cost Management exports).
It seems like there are some new billing apis: https://learn.microsoft.com/en-us/rest/api/billing/

Related

How do you query usage details in Azure for CSP/Sponsored subscriptions?

So for Pay-as-you-Go Azure subscriptions you can use the ConsumptionManagementClient. However, this does not work on Azure Sponsorship or CSP subscriptions. It even states this at https://learn.microsoft.com/en-us/rest/api/consumption/. However, if you do have one of those unsupported subscription types, how do you get usage details?
Basically I want to be able to query the usageDetails of any subscription I am authorized to view in C#. What is the right approach to this?
Seems odd that Microsoft has completely different interfaces like this for usage details. What API/SDK (C#) should I be using when ConsumptionManagementClient doesn't work?
OK, so I was exploring the ARM subscription REST endpoint in more detail and I stumbled upon how to get this directly without the need for the ConsumptionManagementClient. For anyone else that needs this info, you can find it in '/providers/Microsoft.Commerce/UsageAggregates'. I can confirm this is working for both PAYG and sponsored subscriptions.

Can you restrict users from using certain connectors in azure logic apps?

I've looked through all the permissions a user can have in regards to logic apps but I still have not be able to answer my question. Is it possible to restrict a user from using a certain connector in azure logic apps? For example, lets say I wanted users to use only the Outlook/Office 365 connector. Is this possible?
No, it is not possible to restrict Connectors or Actions at design time, though you can certainly restrict actual endpoints by simply not providing credentials.
Note, this is not really any limitation of LogicApps or such. Limiting the designer experience is not something readily available on any other platform.

Azure Mobile Services Easy Tables - Am I On The Right Track?

I'm working on a simple mobile application in order to learn more about app development in general. I'm using Xamarin and C# to make a cross-platform app.
The end goal is to make a listing of users that are willing to be contacted to play golf. I want users to be able to enter their name and email address on one page, save the entries in a table using Azure SQL Database, and then display them in a list on another page in the app.
I've done some pretty extensive research on my own, but now I think it's time to get some real-life interaction to help guide me along. So here's my actual question...
It looks like the "Getting Started" tutorial here is close to what I want to do. But it seems like the database the app in the example uses is stored locally, whereas I want to create a table that all users will be able to access. Is following this walkthrough the right move for me? If not, what should I do instead?
Bear in mind that I'm committed to using Azure Mobile Services, so please refrain from answers suggesting I use a different platform.
Thanks guys!
If you use Azure Storage directly from the client app, then make sure you are not using Shared Key authentication. Otherwise, anyone could simply steal the credentials from the app and get full access to your blob account. To learn more, see Shared Access Signatures and the SO question Azure blob storage and security best practices.
From the official documentation:
Exposing either of your account keys opens your account to the possibility of malicious or negligent use. Shared access signatures provide a safe alternative that allows other clients to read, write, and delete data in your storage account according to the permissions you've granted, and without need for the account key.
For new projects, you should use Azure Mobile Apps instead of Azure Mobile Services. The new service offers a number of features, and it is where all future investments will be.
For instance, there is now support for blob storage syncing along with regular offline data sync, and it uses SAS tokens to connect securely. Here's a tutorial for Xamarin.Forms: Connect to Azure Storage in your Xamarin.Forms app. It includes a sample that you can deploy to your own Azure subscription with one click.
For your specific question, you could modify the Todo sample (or look at the more full-featured Field Engineer sample) and add tables for Players and Games.
There are a number of offering on the Azure platform that will allow you to store your golf players. However, the page you linked to is for BLOB storage, and I would not recommend using that.
There is Azure table storage. Which is a NoSQL store on the Azure platform. It's highly scalable and schema-less, so very flexible. You can leverage the Azure SDK to read and write to it - or go REST if that's what you prefer. Check out the tutorial here: https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/
Then there is Azure SQL, which is SQL server offered on the Azure platform. This is a traditional relational database store, but more scalable ( since it's on the Azure Platform ). You can also use this solution, but it does require a bit of extra work, since you probably want to use an ORM like Entity Framework.
So in all - I would go for Azure table storage. It's really easy to get started with and will do what you want to do.

How do I get support for Azure at the "free" level?

This link says that web incidents are supported at the Free level, however, when I try to open a case using the web support at I am presented with the form below to fill out... and I'm unable to proceed.
How do I, as a consumption user, not a MSDN user, get free web support?
At free level only support for billing and subscription management-related issues is available.
So if you selected a category other than billing or subscription at first step, it will not allow you to submit a request without a support plan.
If you're looking for technical support your best bet is to submit your question here on stackoverflow or msdn forums; or buy a support plan.

Will the unified API return information from Azure?

I've been researching the new unified API for office365 (graph.microsoft.com). Currently one can authenticate to it using an organisationalID and it will return information from emails-from-exchange/OneDrive4Business/Skype4Business(future)/calendar-from-exchange/exchange-contacts/etc...
The ability to surface such a plethora of information from one endpoint strikes me as being hugely valuable. In the future I'd really like to see information relating to Azure be surfaced in here also. For example, I'd love to use graph.microsoft.com to access lists of:
Azure storage accounts
Azure SQL DB servers and databases
Azure SQL DB firewall rules
Azure ML experiments
Countless other things
Are such things on the roadmap?
That is a great question, and it's great to see such enthusiasm around a single endpoint surfacing this information. We're not sure when Azure resource providers would be a part of the unified API, but it would be great to have them. There are a number of other teams who are very interested, and in general we've been pretty focused on user or person centric developer experiences here as you should be able to see from Yina Arena's //Build or Ignite presentations.

Resources