While developing an Azure Function application, using this tutorial, I encountered a problem.

Ultimately, using func new generated my function (the run.csx file) which looked like this:

Side note: the mySbMsg is important – it’s defined in the function.json bindings, and must match.
function.json

However, there was a problem.
When sending messages to my topic, they weren’t being picked up by my function.

I was using some very simplistic code to send messages to my topic:

The messages were definitely being delievered to the topic – I could see that in the Azure portal.

However, the function wasn’t picking them up.

The issue was around the string mySbMsg parameter.
The scaffolding assumed that it would be a string – but it is in fact, a byte[] (due to me serializing the JSON)

Changing this parameter to be a byte[] – and my messages are now received by my locally running function.

Windows Azure Pricing Announced

Microsoft has finally released their pricing model for the forthcoming Windows Azure

Windows Azure:

  • Compute = $0.12 / hour
  • Storage = $0.15 / GB stored / month
  • Storage Transactions = $0.01 / 10K
  • Bandwidth = $0.10 in / $0.15 out / GB

SQL Azure:

  • Web Edition – Up to 1 GB relational database = $9.99
  • Business Edition – Up to 10 GB relational database = $99.99
  • Bandwidth = $0.10 in / $0.15 out / GB

.Net Services:

  • Messages = $0.15/100K message operations , including Service Bus messages and Access Control tokens
  • Bandwidth = $0.10 in / $0.15 out / GB

Further details available from:
http://www.microsoft.com/azure/pricing.mspx

I’ve been starting to delve into the world of Windows Azure this week.

After getting the Azure Samples loaded, I tried running one of them (just by hitting F5 in VS) and, as Firefox is my default browser, got a “Port Restricted For Security Reasons” error.

Of course, it worked fine in IE

Here is what to do –

It turns out, that my application was trying to use port 87 on 127.0.0.1 (127.0.0.1:87)

Load up Firefox. Type about:config in the address bar, and hit enter. You will get something like the following:

image

Right click, and click New -> String.

Set the preference name to: network.security.ports.banned.override

Next, set the value to: 87 (or whatever port your app is using)

Done!