This is a worker that lets you run Deno on Azure Functions. It is implemented as an Azure Functions Custom Handler and runs on the Azure Functions Consumption (serverless) plan.The project includes a CLI `denofunc` to make it easy to create, run, and deploy your Deno Azure Functions apps
The project includes a CLI
denofunc to make it easy to create, run, and deploy your Deno Azure Functions apps.
# initialize function app denofunc init # run function app locally denofunc start # deploy the app denofunc publish $functionAppName
For more information, try the quickstart below.
All Azure Functions triggers and bindings (including custom bindings) are supported.
In this simplified programming model, each function is a single file. Here are a couple of examples:
Check out the new project template for the entire app structure.
denofuncCLI - see below
You can also get a preconfigured, cloud-based dev environment from Codespaces:
To help create, run, and deploy a Deno for Azure Functions app, you need to install the
denofunc wraps the Azure Functions Core Tools (
func) and is used for generating artifacts required to run/deploy the app.
To install the CLI, run the following Deno command.
deno install --allow-run --allow-read --allow-write --allow-net --unstable --force \ --name=denofunc https://raw.githubusercontent.com/anthonychu/azure-functions-deno-worker/v0.5.0/denofunc.ts
Confirm it is installed correctly:
Create and change into an empty folder.
Initialize the project:
A few of the files that are important to know about:
Run the app locally:
The Azure Functions Core Tools (
func) is then called to run the function app.
Note: A folder is automatically generated for the
hello_worldfunction containing a file named
function.jsonthat is used by the Azure Functions runtime to load the function (they are ignored in
Open the URL displayed on the screen (http://localhost:7071/api/hello_world) to run the function.
Ctrl-C to stop the app.
Now that you've run the function app locally, it's time to deploy it to Azure!
Configure some variables (examples are in bash):
region=centralus # any region where Linux Azure Functions are available resourceGroupName=<resource_group_name> functionAppName=<function_app_name> storageName=<storage_name> # must be between 3 and 24 characters in length and may contain numbers and lowercase letters only.
If you are not authenticated with the Azure CLI, log in.
# Log in to the Azure CLI az login
This might not work in some environments (e.g. Codespaces). Try
az login --use-device-code instead.
Run these Azure CLI commands to create and configure the function app:
# Create resource group az group create -l $region -n $resourceGroupName # Create storage account needed by function app az storage account create -n $storageName -l $region -g $resourceGroupName --sku Standard_LRS # Create function app (also works on Windows) az functionapp create -n $functionAppName --storage-account $storageName \ --consumption-plan-location $region -g $resourceGroupName \ --functions-version 3 --runtime dotnet --os-type Linux
Deploy the app:
denofunc publish $functionAppName
Prior to deployment,
denofunc tool will download the Deno Linux binary matching your locally installed version of deno that is included with the deployment package.
The deployment output will print out the URL of the deployed function. Open to the URL to run your function.
You've deployed your first Azure Functions app in Deno! 🦕
Deno is released, it’s time to find out if it can prove a worthy competition for Node.js. What is Deno? Why Deno can be considered an alternative to Node? The main differences between Deno and Node. Write a simple Deno app.