azurereverse-proxyazure-functionsazure-function-app-proxy

Azure Functions Proxy - route to storage account


I could create an azure function proxy with success that routes requests to my blob storage. However, it only works if I specify the Backend URL with the full url to the blob file:

ex:

https://account.blob.core.windows.net/site/index.html

where '/site' is my container name and 'index.html' is my blob name.

I had an understanding that I could use the route template as '/site' and if I leave the Backend URL as 'https://account.blob.core.windows.net/site/' what comes after the last '/' would be routed to my storage account. Did I understand wrong?

UPDATE After reading this other question Azure Function App Proxy to a blob storage account and update the route template / backend url it works, but if my blob name has an extension it does not work (such as .html). Any clues?


Solution

  • In the Azure Functions Proxy documentation they specify how to get the request parameters and pass those to your backend service.

    Your template can be /site/{*restOfPath}

    And your backend would be https://account.blob.core.windows.net/site/{restOfPath}

    I was able to get this working only on files that do NOT have a file extension. So I was able to add an index blob and get to it from https://myfunction.azurewebsites.net/index, however, when I tried index.html, the proxy returned a message "The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."