Team,
I struggled with this for half an afternoon eventually ending up with what I think might be two bugs. I used the current (new) Azure portal, the latest CLI running on OS X, and the latest Powershell commandlets running on Windows 10. Since I ran into both at the same time, it took me a while to get to a solution.
First: MX preference or priority is not allowed to be 0 in Azure DNS. I don't see anything in the MX definition that suggests that 0 is not allowed and I've been running with p 0 for over 10 years so I think it is allowed in general. In all of the interfaces I used in Azure, though, I ended up with an error saying I was missing a preference parameter.
Second: In the CLI, I was following https://azure.microsoft.com/en-us/documentation/articles/dns-operations-recordsets-cli/ and the whole documentation site, really, to the letter and with variation. As it turns out, the MX record is not allowed to be null at first create. So, when I try the first line of create I get an error and can't get past it. I think that is a bug in CLI. When using Powershell, you create a reference that isn't saved until you add the preference records to the record-set which allows you to add the record-set later. In CLI, you are supposed to create a null record-set first which for MX type is forbidden. This prevents you from adding with add-record later. Following is what you get if you try:
MiddleEarth:~ jason$ azure network dns record-set create
info: Executing command network dns record-set create
Resource group name: RobeyDeSpain
DNS zone name: tomdespain.org
Record set name: @
Type: MX
warn: using default TTL of 3600 seconds
+ Creating DNS record set "@"
error: The record set of type 'MX' cannot be null.
info: Error information has been recorded to /Users/jason/.azure/azure.err
error: network dns record-set create commandfailed
Hope this helps others. I couldn't find anyone else struggling with the same in the forums or stack overflow. Seems like a bug, but I'm not sure where to file so I will start here.