What is a valid binding name for azure function?

Question:

When I try to run the azure function defined below, I get the following error log

The 'my_function' function is in error: The binding name my_function_timer is invalid. Please assign a valid name to the binding.

What is the format of a valid binding name for Azure Function ?

Function definition

I have two files in my_function directory:

  • __init__.py contains the python code of the function
  • function.json contains the configuration of the function

Here is the content of those two files

__init__.py

import azure.functions as func
import logging

def main(my_function_timer: func.TimerRequest) -> None:
    logging.info("My function starts")
    print("hello world")
    logging.info("My function stops")

function.json

{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "name": "my_function_timer",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "0 0 1 * * *"
    }
  ]
}

I deploy this function using Azure/functions-action@v1 github action

Asked By: Vincent Doba

||

Answers:

I couldn’t find anything in the documentation either, but looking at the source code of azure-functions-host(which contains code for the runtime host used by the Azure Functions service), it uses following regex to validate the binding name.

^([a-zA-Z][a-zA-Z0-9]{0,127}|$return)$

This means that a valid binding name must be either,

  • Alpha numeric characters(with atmost 127 characters)
  • Literal string $return

Since your binding name contains an underscore(_), the above regex does not match which will result in validation error.

Answered By: Abdul Niyas P M
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.