Share via


DFApp Class

Durable Functions (DF) app.

Exports the decorators required to declare and index DF Function-types.

Instantiate a Durable Functions app with which to register Functions.

Constructor

DFApp(http_auth_level: AuthLevel | str = AuthLevel.FUNCTION)

Parameters

Name Description
http_auth_level
<xref:Union>[<xref:AuthLevel>, str]

Authorization level required for Function invocation. Defaults to AuthLevel.Function.

Default value: FUNCTION

Methods

activity_trigger

Register an Activity Function.

assistant_create_output

The assistantCreate output binding creates a new assistant with a specified system prompt.

assistant_post_input

The assistantPost output binding sends a message to the assistant and saves the response in its internal state.

assistant_query_input

The assistantQuery input binding retrieves assistant chat history and passes it to the function.

This is typically used to provide the function access to previous messages in a conversation, enabling more context-aware responses.

assistant_skill_trigger

Assistants build on top of chat functionality by supporting custom skills defined as functions. This internally uses OpenAI's function calling capabilities in GPT models to determine which functions to invoke and when.

Ref: https://platform.openai.com/docs/guides/function-calling

You can define functions to be triggered by assistants using the assistantSkillTrigger trigger binding. These functions are invoked by the extension when an assistant signals it would like to invoke a function in response to a user prompt.

The function name, its description (provided via the trigger), and the parameter descriptions are all used as hints by the language model to determine when and how to invoke an assistant function.

blob_input

The blob_input decorator adds <xref:azure.durable_functions.decorators.durable_app.BlobInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining BlobInput in the function.json, which enables the function to read from Azure Storage blobs.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-storage-blob

blob_output

The blob_output decorator adds <xref:azure.durable_functions.decorators.durable_app.BlobOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining BlobOutput in the function.json, which enables the function to write message(s) to Azure Storage blobs.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-storage-blob

blob_trigger

The blob_change_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.BlobTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building <xref:azure.durable_functions.decorators.durable_app.Function> object used in worker function indexing model. This is equivalent to defining BlobTrigger in the function.json which enables the function to be triggered when new message(s) are sent to storage blobs.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-storage-blob

cosmos_db_input

The cosmos_db_input decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle version 4.x and above. It is equivalent to defining CosmosDBInput in the function.json, which enables the function to read from Azure Cosmos DB.

All optional fields will be assigned default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-cosmosdb-v4 Additional details: https://aka.ms/cosmosdb-v4-update

cosmos_db_input_v3

The cosmos_db_input_v3 decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 2.x or 3.x. It is equivalent to defining CosmosDBInput in the function.json, which enables the function to read from Azure Cosmos DB. All optional fields are assigned default values by the function host when parsed.

For additional details, see: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v2

cosmos_db_output

The cosmos_db_output decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining CosmosDBOutput in the function.json, which enables the function to write to Azure Cosmos DB. All optional fields are assigned default values by the function host when parsed.

For additional details, see: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v4

cosmos_db_output_v3

The cosmos_db_output_v3 decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 2.x or 3.x. It is equivalent to defining CosmosDBOutput in the function.json, which enables the function to write to Azure Cosmos DB. All optional fields are assigned default values by the function host when parsed.

For additional details, see: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v2

cosmos_db_trigger

The cosmos_db_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining CosmosDBTrigger in the function.json, which enables the function to be triggered when Cosmos DB data changes. All optional fields are assigned default values by the function host when parsed.

See: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v4

cosmos_db_trigger_v3

The cosmos_db_trigger_v3 decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model. This decorator only works with extension bundle 2.x or 3.x.

This is equivalent to defining CosmosDBTrigger in the function.json, which enables the function to be triggered when Cosmos DB data changes. All optional fields will be assigned default values by the function host when they are parsed.

See: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v2

dapr_binding_output

The dapr_binding_output decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprBindingOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprBindingOutput in the function.json, which enables the function to send a value to a Dapr output binding.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-binding-output-binding

dapr_binding_trigger

The dapr_binding_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprBindingTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining DaprBindingTrigger in the function.json, which enables the function to be triggered by a Dapr input binding.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-dapr-trigger-binding

dapr_invoke_output

The dapr_invoke_output decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprInvokeOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprInvokeOutput in the function.json, which enables the function to invoke another Dapr app.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-invoke-output-binding

dapr_publish_output

The dapr_publish_output decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprPublishOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprPublishOutput in the function.json, which enables the function to publish to a topic.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-publish-output-binding

dapr_secret_input

The dapr_secret_input decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprSecretInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprSecretInput in the function.json, which enables the function to read secrets from the underlying secret store component.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-secret-input-binding

dapr_service_invocation_trigger

The dapr_service_invocation_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprServiceInvocationTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining DaprServiceInvocationTrigger in the function.json, which enables the function to be triggered when a service invocation occurs through Dapr.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-dapr-trigger-service-invocation

dapr_state_input

The dapr_state_input decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprStateInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprStateInput in the function.json, which enables the function to read state from the underlying state store component.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-state-input-binding

dapr_state_output

The dapr_state_output decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprStateOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprStateOutput in the function.json, which enables the function to write to the Dapr state store.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-state-output-binding

dapr_topic_trigger

The dapr_topic_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprTopicTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining DaprTopicTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to the Dapr pub/sub system.

All optional fields will be assigned default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-dapr-trigger-topic

durable_client_input

Register a Durable-client Function.

embeddings_input

The embeddings input decorator generates embeddings used to measure the relatedness of text strings.

Ref: https://platform.openai.com/docs/guides/embeddings

embeddings_store_output

Add an embeddings input binding to the function.

The supported list of embeddings stores is extensible. Additional providers can be integrated by authoring a specially crafted NuGet package. Refer to the provider-specific folders for detailed usage instructions:

  • Azure AI Search

  • Azure Data Explorer

  • Azure Cosmos DB using MongoDB

entity_trigger

Register an Entity Function.

event_grid_output

The event_grid_output decorator adds <xref:azure.durable_functions.decorators.durable_app.EventGridOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining the output binding in the function.json, which enables the function to write events to a custom topic.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/eventgridtrigger

event_grid_trigger

The event_grid_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.EventGridTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining an Event Grid trigger in function.json, which enables the function to be triggered in response to an event sent to an Event Grid topic.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/eventgridtrigger

event_hub_message_trigger

The event_hub_message_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.EventHubTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining an EventHubTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to the Event Hub.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-event-hubs

event_hub_output

The event_hub_output decorator adds <xref:azure.durable_functions.decorators.durable_app.EventHubOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining EventHubOutput in the function.json, which enables the function to write messages to an Azure Event Hub.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-event-hubs

function_name

Optional: Sets name of the <xref:azure.durable_functions.decorators.durable_app.Function> object. If not set, it will default to the name of the method name.

additional setting fields :return: Decorator function.

generic_input_binding

The generic_input_binding decorator adds <xref:azure.durable_functions.decorators.durable_app.GenericInputBinding> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining a generic input binding in the function.json, which enables the function to read data from a custom-defined input source.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-custom

generic_output_binding

The generic_output_binding decorator adds <xref:azure.durable_functions.decorators.durable_app.GenericOutputBinding> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining a generic output binding in the function.json, which enables the function to write data to a custom-defined output source.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-custom

generic_trigger

The generic_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.GenericTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a generic trigger in the function.json, which triggers the function to execute when generic trigger events are received by the host.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-custom

get_functions

Get the function objects in the function app.

http_type

Set http type of the <xref:azure.durable_functions.decorators.durable_app.Function> object.

kafka_output

The kafka_output decorator adds <xref:azure.durable_functions.decorators.durable_app.KafkaOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining a Kafka output binding in function.json, which enables the function to write events to a Kafka topic. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/kafkaoutput

kafka_trigger

The kafka_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.KafkaTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a Kafka trigger in function.json, which enables the function to be triggered in response to an event sent to a Kafka topic.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/kafkatrigger

mcp_tool_trigger

The mcp_tool_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.MCPToolTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining MCPToolTrigger in the function.json, which enables the function to be triggered when MCP tool requests are received by the host.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/remote-mcp-functions-python

mysql_input

The mysql_input decorator adds <xref:azure.durable_functions.decorators.durable_app.MySqlInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining MySqlInput in the function.json, which enables the function to read data from a MySQL database. All optional fields are automatically assigned default values by the function host when parsed.

Ref: https://aka.ms/mysqlbindings

mysql_output

The mysql_output decorator adds <xref:azure.durable_functions.decorators.durable_app.MySqlOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator is supported only with extension bundle 4.x and above. It is equivalent to defining MySqlOutput in the function.json, enabling the function to write data to a MySQL database.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/mysqlbindings

mysql_trigger

The mysql_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.MySqlTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining MySqlTrigger in the function.json, which enables the function to be triggered when there are changes in the MySQL table. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/mysqlbindings

orchestration_trigger

Register an Orchestrator Function.

queue_output

The queue_output decorator adds <xref:azure.durable_functions.decorators.durable_app.QueueOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining QueueOutput in the function.json, which enables the function to write messages to an Azure Storage Queue.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-queue

queue_trigger

The queue_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.QueueTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a QueueTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to an Azure Storage queue.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-queue

register_blueprint

Register a list of functions in the function app.

register_functions

Register a list of functions in the function app.

retry

The retry decorator adds a <xref:azure.durable_functions.decorators.durable_app.RetryPolicy> to the function settings object.

Used for building a <xref:azure.durable_functions.decorators.durable_app.Function> object in the worker function indexing model. This is equivalent to defining a RetryPolicy in function.json, which enables the function to automatically retry on failure.

All optional fields are assigned default values by the function host during parsing.

Ref: https://aka.ms/azure_functions_retries

route

The route decorator adds <xref:azure.durable_functions.decorators.durable_app.HttpTrigger> and <xref:azure.durable_functions.decorators.durable_app.HttpOutput> bindings to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining both HttpTrigger and HttpOutput bindings in the function.json, which enables your function to be triggered when HTTP requests hit the specified route.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-http

schedule

The schedule or timer decorator adds <xref:azure.durable_functions.decorators.durable_app.TimerTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a TimerTrigger in the function.json, which enables your function to be triggered on the specified schedule.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-timer

semantic_search_input

Enable semantic search capabilities using vector databases and OpenAI models.

This feature allows you to import documents into a vector database via an output binding and perform semantic queries against them via an input binding. For example, one function can import documents into the database, while another function issues queries to OpenAI using that data as context — a pattern known as Retrieval Augmented Generation (RAG).

Ref: https://platform.openai.com/docs/guides/embeddings

service_bus_queue_output

The service_bus_queue_output decorator adds <xref:azure.durable_functions.decorators.durable_app.ServiceBusQueueOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining ServiceBusQueueOutput in the function.json, which enables the function to write messages to a Service Bus queue.

All optional fields will be assigned default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-service-bus

service_bus_queue_trigger

The on_service_bus_queue_change decorator adds <xref:azure.durable_functions.decorators.durable_app.ServiceBusQueueTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a ServiceBusQueueTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to the Service Bus queue.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-service-bus

service_bus_topic_output

The service_bus_topic_output decorator adds <xref:azure.durable_functions.decorators.durable_app.ServiceBusTopicOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining ServiceBusTopicOutput in the function.json, which enables the function to write messages to a Service Bus topic.

All optional fields will be assigned default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-service-bus

service_bus_topic_trigger

The on_service_bus_topic_change decorator adds <xref:azure.durable_functions.decorators.durable_app.ServiceBusTopicTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a ServiceBusTopicTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to a Service Bus topic.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-service-bus

sql_input

The sql_input decorator adds <xref:azure.durable_functions.decorators.durable_app.SqlInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining SqlInput in the function.json, which enables the function to read from a SQL database. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/sqlbindings

sql_output

The sql_output decorator adds <xref:azure.durable_functions.decorators.durable_app.SqlOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining SqlOutput in the function.json, which enables the function to write to a SQL database. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/sqlbindings

sql_trigger

The sql_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.SqlTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining SqlTrigger in the function.json, which enables the function to be triggered when there are changes in the SQL table. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/sqlbindings

table_input

The table_input decorator adds <xref:azure.durable_functions.decorators.durable_app.TableInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining TableInput in the function.json, which enables the function to read from a table in Azure Storage or a Cosmos DB account.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/tablesbindings

table_output

The table_output decorator adds <xref:azure.durable_functions.decorators.durable_app.TableOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining TableOutput in the function.json, which enables the function to write entities to a table in Azure Storage.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/tablesbindings

text_completion_input

The textCompletion input binding is used to invoke the OpenAI Chat Completions API and return the generated results to the function.

Ref: https://platform.openai.com/docs/guides/text-generation/chat-completions-vs-completions

The examples typically define an HTTP-triggered function with a hardcoded prompt such as "who is {name}?", where {name} is dynamically substituted from the HTTP request path. The OpenAI input binding sends this prompt to the configured GPT model and returns the generated response to the function, which then returns the result as the HTTP response content.

timer_trigger

The schedule or timer decorator adds <xref:azure.durable_functions.decorators.durable_app.TimerTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a TimerTrigger in the function.json, which enables your function to be triggered on the specified schedule.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-timer

validate_function_names

Validate that all functions have unique names within the app.

The functions_bindings dictionary maps function names to their bindings. If multiple functions share the same name, indexing will fail.

warm_up_trigger

The warm_up decorator adds <xref:azure.durable_functions.decorators.durable_app.WarmUpTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a WarmUpTrigger in the function.json, which enables your function to be triggered on the specified schedule.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-warmup

activity_trigger

Register an Activity Function.

activity_trigger(input_name: str, activity: str | None = None)

Parameters

Name Description
input_name
Required
str

Parameter name of the Activity input.

activity
<xref:Optional>[str]

Name of Activity Function. The value is None by default, in which case the name of the method is used.

Default value: None

assistant_create_output

The assistantCreate output binding creates a new assistant with a specified system prompt.

assistant_create_output(arg_name: str, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the binding parameter in the function code.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying extra binding fields to include in the function.json.

Returns

Type Description

Decorator function.

assistant_post_input

The assistantPost output binding sends a message to the assistant and saves the response in its internal state.

assistant_post_input(arg_name: str, id: str, user_message: str, ai_connection_name: str | None = '', chat_model: str | OpenAIModels | None = OpenAIModels.DefaultChatModel, chat_storage_connection_setting: str | None = 'AzureWebJobsStorage', collection_name: str | None = 'ChatState', temperature: str | None = '0.5', top_p: str | None = None, max_tokens: str | None = '100', is_reasoning_model: bool | None = False, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the binding parameter in the function code.

id
Required

The ID of the assistant to update.

user_message
Required

The message entered by the user for the assistant to respond to.

ai_connection_name
Required

The name of the configuration section for AI service connectivity.

  • Azure OpenAI: If specified, looks for "Endpoint" and/or "Key" in the section.

  • If not specified or missing, falls back to the AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_KEY environment variables.

  • Managed Identity: Required for user-assigned identity auth.

  • OpenAI (non-Azure): Set the OPENAI_API_KEY environment variable.

model
Required

Deprecated. Use chat_model instead. This parameter is unused and will be removed in future versions.

chat_model

The deployment or model name of the OpenAI Chat Completion API. Default is "gpt-3.5-turbo".

Default value: DefaultChatModel
chat_storage_connection_setting

The config section name for assistant chat table storage. Default is "AzureWebJobsStorage".

Default value: AzureWebJobsStorage
collection_name

The collection or table name used for assistant chat storage. Default is "ChatState".

Default value: ChatState
temperature

Sampling temperature, between 0 and 2. Higher values (e.g., 0.8) increase randomness; lower values (e.g., 0.2) make output more deterministic.

Default value: 0.5
top_p

Alternative to temperature sampling. Uses nucleus sampling to consider only the tokens comprising the top top_p probability mass. Recommended to use either this or temperature.

Default value: None
max_tokens

Maximum tokens to generate. Total tokens (prompt + output) must not exceed the model's context length.

Default value: 100
is_reasoning_model

Whether the chat model is a reasoning model. If true, max_tokens and temperature are not supported.

Default value: False
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying extra binding fields in function.json.

Returns

Type Description

Decorator function.

assistant_query_input

The assistantQuery input binding retrieves assistant chat history and passes it to the function.

This is typically used to provide the function access to previous messages in a conversation, enabling more context-aware responses.

assistant_query_input(arg_name: str, id: str, timestamp_utc: str, chat_storage_connection_setting: str | None = 'AzureWebJobsStorage', collection_name: str | None = 'ChatState', data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the binding parameter in the function code.

timestamp_utc
Required

The earliest timestamp (in UTC) for the messages to retrieve from the chat history. Must be in ISO 8601 format, e.g., "2023-08-01T00:00:00Z".

chat_storage_connection_setting

The name of the configuration section containing the connection settings for assistant chat storage. Defaults to "AzureWebJobsStorage".

Default value: AzureWebJobsStorage
collection_name

The name of the table or collection used for assistant chat storage. Defaults to "ChatState".

Default value: ChatState
id
Required

The unique identifier of the assistant whose history is being queried.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

assistant_skill_trigger

Assistants build on top of chat functionality by supporting custom skills defined as functions. This internally uses OpenAI's function calling capabilities in GPT models to determine which functions to invoke and when.

Ref: https://platform.openai.com/docs/guides/function-calling

You can define functions to be triggered by assistants using the assistantSkillTrigger trigger binding. These functions are invoked by the extension when an assistant signals it would like to invoke a function in response to a user prompt.

The function name, its description (provided via the trigger), and the parameter descriptions are all used as hints by the language model to determine when and how to invoke an assistant function.

assistant_skill_trigger(arg_name: str, function_description: str, function_name: str | None = None, parameter_description_json: str | None = None, data_type: DataType | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the trigger parameter in the function code.

function_description
Required

A description of the assistant function, which is provided to the model.

function_name

The name of the assistant function, which is passed to the language model.

Default value: None
parameter_description_json

A JSON-formatted description of the function parameters, provided to the model. If omitted, the description is autogenerated.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

blob_input

The blob_input decorator adds <xref:azure.durable_functions.decorators.durable_app.BlobInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining BlobInput in the function.json, which enables the function to read from Azure Storage blobs.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-storage-blob

blob_input(arg_name: str, path: str, connection: str, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the blob in the function code.

path
Required

The path to the blob.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Azure Blobs.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Keyword arguments for specifying additional binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

blob_output

The blob_output decorator adds <xref:azure.durable_functions.decorators.durable_app.BlobOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining BlobOutput in the function.json, which enables the function to write message(s) to Azure Storage blobs.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-storage-blob

blob_output(arg_name: str, path: str, connection: str, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the blob in the function code.

path
Required

The path to the blob.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Azure Blobs.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Keyword arguments for specifying additional binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

blob_trigger

The blob_change_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.BlobTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building <xref:azure.durable_functions.decorators.durable_app.Function> object used in worker function indexing model. This is equivalent to defining BlobTrigger in the function.json which enables the function to be triggered when new message(s) are sent to storage blobs.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-storage-blob

blob_trigger(arg_name: str, path: str, connection: str, source: BlobSource | None = None, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.InputStream> object in function code.

path
Required

The path to the blob.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Azure Blobs.

source

Sets the source of the triggering event. Use "EventGrid" for an Event Grid-based blob trigger, which provides much lower latency. The default is "LogsAndContainerScan", which uses the standard polling mechanism to detect changes in the container.

Default value: None
data_type

Defines how Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Keyword arguments for specifying additional binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

cosmos_db_input

The cosmos_db_input decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle version 4.x and above. It is equivalent to defining CosmosDBInput in the function.json, which enables the function to read from Azure Cosmos DB.

All optional fields will be assigned default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-cosmosdb-v4 Additional details: https://aka.ms/cosmosdb-v4-update

cosmos_db_input(arg_name: str, connection: str, database_name: str, container_name: str, partition_key: str | None = None, id: str | None = None, sql_query: str | None = None, preferred_locations: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.DocumentList> input object in the function code.

connection
Required

The name of an app setting or setting container that specifies how to connect to the Azure Cosmos DB account being monitored.

database_name
Required

The name of the Cosmos DB database that contains the document.

container_name
Required

The name of the container that holds the document.

partition_key

The partition key value for the document lookup.

Default value: None
id

The ID of the document to retrieve.

Default value: None
sql_query

An Azure Cosmos DB SQL query used to retrieve multiple documents.

Default value: None
preferred_locations

(Optional) Preferred geo-replicated regions. Values should be comma-separated, e.g., "East US,South Central US,North Europe".

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

cosmos_db_input_v3

The cosmos_db_input_v3 decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 2.x or 3.x. It is equivalent to defining CosmosDBInput in the function.json, which enables the function to read from Azure Cosmos DB. All optional fields are assigned default values by the function host when parsed.

For additional details, see: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v2

cosmos_db_input_v3(arg_name: str, database_name: str, collection_name: str, connection_string_setting: str, id: str | None = None, sql_query: str | None = None, partition_key: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.DocumentList> input object in the function code.

database_name
Required

The name of the Azure Cosmos DB database containing the target collection.

collection_name
Required

The name of the collection that contains the document(s).

connection_string_setting
Required

The name of the app setting that contains the Azure Cosmos DB connection string.

id

The ID of a single document to retrieve.

Default value: None
sql_query

An Azure Cosmos DB SQL query used to retrieve multiple documents.

Default value: None
partition_key

Specifies the partition key value for the lookup.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

cosmos_db_output

The cosmos_db_output decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining CosmosDBOutput in the function.json, which enables the function to write to Azure Cosmos DB. All optional fields are assigned default values by the function host when parsed.

For additional details, see: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v4

cosmos_db_output(arg_name: str, connection: str, database_name: str, container_name: str, create_if_not_exists: bool | None = None, partition_key: str | None = None, container_throughput: int | None = None, preferred_locations: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Cosmos DB output object in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to the Azure Cosmos DB account.

database_name
Required

The name of the Azure Cosmos DB database containing the target container.

container_name
Required

The name of the container to which documents are written.

create_if_not_exists

A boolean indicating whether the container should be created automatically if it does not exist.

Default value: None
partition_key

When create_if_not_exists is True, this defines the partition key path for the created container.

Default value: None
container_throughput

When create_if_not_exists is True, this defines the throughput (Request Units) for the created container.

Default value: None
preferred_locations

Preferred geographic regions for geo-replicated database accounts in Azure Cosmos DB. When set along with use_multiple_write_locations, it enables multi-region writes.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

cosmos_db_output_v3

The cosmos_db_output_v3 decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 2.x or 3.x. It is equivalent to defining CosmosDBOutput in the function.json, which enables the function to write to Azure Cosmos DB. All optional fields are assigned default values by the function host when parsed.

For additional details, see: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v2

cosmos_db_output_v3(arg_name: str, database_name: str, collection_name: str, connection_string_setting: str, create_if_not_exists: bool | None = None, partition_key: str | None = None, collection_throughput: int | None = None, use_multiple_write_locations: bool | None = None, preferred_locations: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Cosmos DB output object in the function code.

database_name
Required

The name of the Azure Cosmos DB database containing the monitored collection.

collection_name
Required

The name of the collection to which documents are written.

connection_string_setting
Required

The name of an app setting or setting collection that specifies how to connect to the Azure Cosmos DB account.

create_if_not_exists

A boolean indicating whether the collection should be created automatically if it does not exist.

Default value: None
partition_key

When create_if_not_exists is True, this defines the partition key path for the created collection.

Default value: None
collection_throughput

When create_if_not_exists is True, this defines the throughput (Request Units) for the created collection.

Default value: None
use_multiple_write_locations

When set to True and used in conjunction with preferred_locations, this enables multi-region writes in the Azure Cosmos DB service.

Default value: None
preferred_locations

Preferred geographic regions for geo-replicated database accounts in Azure Cosmos DB.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

cosmos_db_trigger

The cosmos_db_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining CosmosDBTrigger in the function.json, which enables the function to be triggered when Cosmos DB data changes. All optional fields are assigned default values by the function host when parsed.

See: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v4

cosmos_db_trigger(arg_name: str, connection: str, database_name: str, container_name: str, lease_connection: str | None = None, lease_database_name: str | None = None, lease_container_name: str | None = None, create_lease_container_if_not_exists: bool | None = None, leases_container_throughput: int | None = None, lease_container_prefix: str | None = None, feed_poll_delay: int | None = None, lease_acquire_interval: int | None = None, lease_expiration_interval: int | None = None, lease_renew_interval: int | None = None, max_items_per_invocation: int | None = None, start_from_beginning: time | None = None, start_from_time: time | None = None, preferred_locations: str | None = None, data_type: DataType | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.DocumentList> object in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to the monitored Azure Cosmos DB account.

database_name
Required

The name of the Azure Cosmos DB database containing the monitored collection.

container_name
Required

The name of the container being monitored.

lease_connection

(Optional) The name of an app setting or setting collection that specifies how to connect to the Cosmos DB account that holds the lease container.

Default value: None
lease_database_name

The name of the database that holds the collection used to store leases.

Default value: None
lease_container_name

(Optional) The name of the container used to store leases. If not set, the default value "leases" is used.

Default value: None
create_lease_container_if_not_exists

(Optional) If True, the leases container is created automatically if it does not exist. Defaults to False. Note: When using Azure AD identities, container creation is not allowed, and the function will not start if this is True.

Default value: None
leases_container_throughput

(Optional) The number of Request Units (RUs) to assign when the leases container is created. This is used only when create_lease_container_if_not_exists is True. It is automatically set when configured through the Azure Portal.

Default value: None
lease_container_prefix

(Optional) A prefix added to leases created in the lease container for this function. Use this to allow multiple functions to share the same lease container with different prefixes.

Default value: None
feed_poll_delay

The delay (in milliseconds) between polling a partition for new changes after draining current changes.

Default value: None
lease_acquire_interval

The interval (in milliseconds) to trigger a task to check if partitions are evenly distributed across host instances.

Default value: None
lease_expiration_interval

The interval (in milliseconds) for which a lease is held for a partition.

Default value: None
lease_renew_interval

The interval (in milliseconds) to renew all leases for partitions currently held by an instance.

Default value: None
max_items_per_invocation

Maximum number of items received per function call.

Default value: None
start_from_beginning

If True, the trigger starts reading changes from the beginning of the collection's change history instead of the current time.

Default value: None
start_from_time

(Optional) The date and time from which to begin reading the change feed. Use ISO 8601 format with a UTC designator, e.g., 2021-02-16T14:19:29Z. Only used to set the initial trigger state; has no effect once the trigger has a lease state.

Default value: None
preferred_locations

Preferred locations (regions) for geo-replicated Cosmos DB accounts.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

cosmos_db_trigger_v3

The cosmos_db_trigger_v3 decorator adds <xref:azure.durable_functions.decorators.durable_app.CosmosDBTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model. This decorator only works with extension bundle 2.x or 3.x.

This is equivalent to defining CosmosDBTrigger in the function.json, which enables the function to be triggered when Cosmos DB data changes. All optional fields will be assigned default values by the function host when they are parsed.

See: https://aka.ms/cosmosdb-v4-update Ref: https://aka.ms/azure-function-binding-cosmosdb-v2

cosmos_db_trigger_v3(arg_name: str, database_name: str, collection_name: str, connection_string_setting: str, lease_collection_name: str | None = None, lease_connection_string_setting: str | None = None, lease_database_name: str | None = None, create_lease_collection_if_not_exists: bool | None = None, leases_collection_throughput: int | None = None, lease_collection_prefix: str | None = None, checkpoint_interval: int | None = None, checkpoint_document_count: int | None = None, feed_poll_delay: int | None = None, lease_renew_interval: int | None = None, lease_acquire_interval: int | None = None, lease_expiration_interval: int | None = None, max_items_per_invocation: int | None = None, start_from_beginning: bool | None = None, preferred_locations: str | None = None, data_type: DataType | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.DocumentList> object in the function code.

database_name
Required

The name of the Azure Cosmos DB database containing the monitored collection.

collection_name
Required

The name of the collection being monitored.

connection_string_setting
Required

The name of an app setting or setting collection specifying how to connect to the monitored Azure Cosmos DB account.

lease_collection_name

The name of the collection used to store leases.

Default value: None
lease_connection_string_setting

The name of an app setting or setting collection that specifies how to connect to the Azure Cosmos DB account that holds the lease collection.

Default value: None
lease_database_name

The name of the database that holds the lease collection.

Default value: None
create_lease_collection_if_not_exists

If True, the lease collection is automatically created when it does not already exist.

Default value: None
leases_collection_throughput

The number of Request Units (RUs) assigned when the lease collection is created.

Default value: None
lease_collection_prefix

A prefix added to leases created in the lease collection for this Function.

Default value: None
checkpoint_interval

The interval (in milliseconds) between lease checkpoints. The default behavior is to checkpoint after every function call.

Default value: None
checkpoint_document_count

Number of documents processed between lease checkpoints. Default is after every function call.

Default value: None
feed_poll_delay

The delay (in milliseconds) between polling a partition for new changes after all current changes are drained.

Default value: None
lease_renew_interval

The interval (in milliseconds) to renew leases for partitions currently held by an instance.

Default value: None
lease_acquire_interval

The interval (in milliseconds) to trigger a task that checks whether partitions are evenly distributed among host instances.

Default value: None
lease_expiration_interval

The interval (in milliseconds) for which a lease is held for a partition.

Default value: None
max_items_per_invocation

Maximum number of items received per function call.

Default value: None
start_from_beginning

If True, the trigger starts reading changes from the beginning of the collection's change history rather than from the current time.

Default value: None
preferred_locations

Preferred locations (regions) for geo-replicated database accounts in Azure Cosmos DB.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields in the function.json.

Returns

Type Description

Decorator function.

dapr_binding_output

The dapr_binding_output decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprBindingOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprBindingOutput in the function.json, which enables the function to send a value to a Dapr output binding.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-binding-output-binding

dapr_binding_output(arg_name: str, binding_name: str, operation: str, dapr_address: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Dapr state output object in the function code.

binding_name
Required

The configured name of the binding.

operation
Required

The configured operation.

dapr_address

The Dapr address. Optional; defaults to http://localhost:{daprHttpPort}.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields in the function.json.

Returns

Type Description

Decorator function.

dapr_binding_trigger

The dapr_binding_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprBindingTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining DaprBindingTrigger in the function.json, which enables the function to be triggered by a Dapr input binding.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-dapr-trigger-binding

dapr_binding_trigger(arg_name: str, binding_name: str, data_type: DataType | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the trigger input in the function code.

binding_name
Required

The name of the Dapr trigger. If not specified, the function name is used as the trigger name.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Keyword arguments for specifying additional binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

dapr_invoke_output

The dapr_invoke_output decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprInvokeOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprInvokeOutput in the function.json, which enables the function to invoke another Dapr app.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-invoke-output-binding

dapr_invoke_output(arg_name: str, app_id: str, method_name: str, http_verb: str, dapr_address: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Dapr state output object in the function code.

app_id
Required

The Dapr app ID to invoke.

method_name
Required

The method name of the app to invoke.

http_verb
Required

The HTTP verb to use for the invocation (e.g., GET, POST).

dapr_address

The Dapr address. Optional; defaults to http://localhost:{daprHttpPort}.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields in the function.json.

Returns

Type Description

Decorator function.

dapr_publish_output

The dapr_publish_output decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprPublishOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprPublishOutput in the function.json, which enables the function to publish to a topic.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-publish-output-binding

dapr_publish_output(arg_name: str, pub_sub_name: str, topic: str, dapr_address: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Dapr state output object in the function code.

pub_sub_name
Required

The pub/sub component name to publish to.

topic
Required

The name of the topic to publish to.

dapr_address

The Dapr address. Optional; defaults to http://localhost:{daprHttpPort}.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields in the function.json.

Returns

Type Description

Decorator function.

dapr_secret_input

The dapr_secret_input decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprSecretInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprSecretInput in the function.json, which enables the function to read secrets from the underlying secret store component.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-secret-input-binding

dapr_secret_input(arg_name: str, secret_store_name: str, key: str, metadata: str, dapr_address: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Dapr state input object in the function code.

secret_store_name
Required

The name of the secret store from which to retrieve the secret.

key
Required

The key identifying the name of the secret to retrieve.

metadata
Required

Metadata properties in the form "key1=value1&key2=value2".

dapr_address

The Dapr address. Optional; Defaults to http://localhost:{daprHttpPort}.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields in the function.json.

Returns

Type Description

Decorator function.

dapr_service_invocation_trigger

The dapr_service_invocation_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprServiceInvocationTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining DaprServiceInvocationTrigger in the function.json, which enables the function to be triggered when a service invocation occurs through Dapr.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-dapr-trigger-service-invocation

dapr_service_invocation_trigger(arg_name: str, method_name: str, data_type: DataType | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the service invocation input in the function code.

method_name
Required

The name of the method on a remote Dapr App. If not specified, the name of the function is used as the method name.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Keyword arguments for specifying additional binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

dapr_state_input

The dapr_state_input decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprStateInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprStateInput in the function.json, which enables the function to read state from the underlying state store component.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-state-input-binding

dapr_state_input(arg_name: str, state_store: str, key: str, dapr_address: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Dapr state input object in the function code.

state_store
Required

The state store containing the state.

key
Required

The name of the key to retrieve.

dapr_address

The Dapr address. Optional; Defaults to http://localhost:{daprHttpPort}.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields in the function.json.

Returns

Type Description

Decorator function.

dapr_state_output

The dapr_state_output decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprStateOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining DaprStateOutput in the function.json, which enables the function to write to the Dapr state store.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-dapr-state-output-binding

dapr_state_output(arg_name: str, state_store: str, key: str, dapr_address: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Dapr state output object in the function code.

state_store
Required

The state store containing the state for the specified keys.

key
Required

The name of the key used to store the state.

dapr_address

The Dapr address. Optional; defaults to http://localhost:{daprHttpPort}.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields in the function.json.

Returns

Type Description

Decorator function.

dapr_topic_trigger

The dapr_topic_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.DaprTopicTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining DaprTopicTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to the Dapr pub/sub system.

All optional fields will be assigned default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-dapr-trigger-topic

dapr_topic_trigger(arg_name: str, pub_sub_name: str, topic: str, route: str | None = None, data_type: DataType | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the trigger input in the function code.

pub_sub_name
Required

The name of the Dapr pub/sub component.

topic
Required

The topic name. If unspecified, the function name is used.

route

The route for the trigger. If unspecified, the topic name is used.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying extra binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

durable_client_input

Register a Durable-client Function.

durable_client_input(client_name: str, task_hub: str | None = None, connection_name: str | None = None)

Parameters

Name Description
client_name
Required
str

Parameter name of durable client.

task_hub
<xref:Optional>[str]

Used in scenarios where multiple function apps share the same storage account but need to be isolated from each other. If not specified, the default value from host.json is used. This value must match the value used by the target orchestrator functions.

Default value: None
connection_name
<xref:Optional>[str]

The name of an app setting that contains a storage account connection string. The storage account represented by this connection string must be the same one used by the target orchestrator functions. If not specified, the default storage account connection string for the function app is used.

Default value: None

embeddings_input

The embeddings input decorator generates embeddings used to measure the relatedness of text strings.

Ref: https://platform.openai.com/docs/guides/embeddings

embeddings_input(arg_name: str, input: str, input_type: InputType, ai_connection_name: str | None = '', embeddings_model: str | OpenAIModels | None = OpenAIModels.DefaultEmbeddingsModel, max_chunk_length: int | None = 8192, max_overlap: int | None = 128, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the binding parameter in the function code.

input
Required

The input source containing the data to generate embeddings for.

input_type
Required

The type of the input (e.g., string, list, file reference).

ai_connection_name
Required

The name of the configuration section for AI service connectivity settings.

  • Azure OpenAI: If specified, looks for "Endpoint" and/or "Key" in this section.

  • If not specified or not found, falls back to the environment variables AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_KEY.

  • For user-assigned managed identity authentication, this is required.

  • OpenAI (non-Azure): Set the OPENAI_API_KEY environment variable.

model
Required

(Deprecated) Use embeddings_model instead. This parameter is unused and will be removed in future versions.

embeddings_model

The deployment or model name for OpenAI Embeddings. Default is "text-embedding-ada-002".

Default value: DefaultEmbeddingsModel
max_chunk_length

The maximum number of characters into which the input should be chunked. Default is 8 * 1024.

Default value: 8192
max_overlap

The maximum number of characters to overlap between input chunks. Default is 128.

Default value: 128
data_type

Optional. Defines how the Functions runtime should interpret the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments to include in the function.json binding configuration.

Returns

Type Description

Decorator function.

embeddings_store_output

Add an embeddings input binding to the function.

The supported list of embeddings stores is extensible. Additional providers can be integrated by authoring a specially crafted NuGet package. Refer to the provider-specific folders for detailed usage instructions:

  • Azure AI Search

  • Azure Data Explorer

  • Azure Cosmos DB using MongoDB

embeddings_store_output(arg_name: str, input: str, input_type: InputType, store_connection_name: str, collection: str, ai_connection_name: str | None = '', embeddings_model: str | OpenAIModels | None = OpenAIModels.DefaultEmbeddingsModel, max_chunk_length: int | None = 8192, max_overlap: int | None = 128, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the binding parameter in the function code.

input
Required

The input data for which embeddings should be generated.

input_type
Required

The type of the input (e.g., string, list).

store_connection_name
Required

The name of an app setting or environment variable containing the vector store connection value.

collection
Required

The collection or table to search within.

ai_connection_name
Required

The name of the configuration section for AI service connectivity settings.

  • For Azure OpenAI: If specified, looks for "Endpoint" and/or "Key" in this configuration section.

  • If not specified, or if the section is missing, falls back to environment variables: AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_KEY.

  • For user-assigned managed identity, this property is required.

  • For OpenAI (non-Azure), set the OPENAI_API_KEY environment variable.

model
Required

Deprecated. Use embeddings_model instead. This parameter is unused and will be removed in future versions.

embeddings_model

The deployment or model name for OpenAI Embeddings. The default is "text-embedding-ada-002".

Default value: DefaultEmbeddingsModel
max_chunk_length

The maximum number of characters to chunk the input into.

Default value: 8192
max_overlap

The maximum number of characters to overlap between chunks.

Default value: 128
data_type

Optional. Defines how the Functions runtime should treat the parameter value. Defaults to None.

Default value: None
kwargs
Required

Additional keyword arguments to include in the function.json binding.

Returns

Type Description

Decorator function.

entity_trigger

Register an Entity Function.

entity_trigger(context_name: str, entity_name: str | None = None)

Parameters

Name Description
context_name
Required
str

Parameter name of the Entity input.

entity_name
<xref:Optional>[str]

Name of Entity Function. The value is None by default, in which case the name of the method is used.

Default value: None

event_grid_output

The event_grid_output decorator adds <xref:azure.durable_functions.decorators.durable_app.EventGridOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining the output binding in the function.json, which enables the function to write events to a custom topic.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/eventgridtrigger

event_grid_output(arg_name: str, topic_endpoint_uri: str | None = None, topic_key_setting: str | None = None, connection: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The variable name used in the function code that represents the event.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
topic_endpoint_uri

The name of an app setting that contains the URI for the custom topic.

Default value: None
topic_key_setting

The name of an app setting that contains an access key for the custom topic.

Default value: None
connection

The value of the common prefix for the setting that contains the topic endpoint URI.

Default value: None

Returns

Type Description

Decorator function.

event_grid_trigger

The event_grid_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.EventGridTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining an Event Grid trigger in function.json, which enables the function to be triggered in response to an event sent to an Event Grid topic.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/eventgridtrigger

event_grid_trigger(arg_name: str, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The variable name used in the function code for the parameter that receives the event data.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None

Returns

Type Description

Decorator function.

event_hub_message_trigger

The event_hub_message_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.EventHubTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining an EventHubTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to the Event Hub.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-event-hubs

event_hub_message_trigger(arg_name: str, connection: str, event_hub_name: str, data_type: DataType | str | None = None, cardinality: Cardinality | str | None = None, consumer_group: str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.EventHubEvent> object in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Event Hubs.

event_hub_name
Required

The name of the Event Hub.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
cardinality

Set to "many" to enable batching.

Default value: None
consumer_group

Optional. The consumer group used to subscribe to events in the hub.

Default value: None
kwargs
Required

Additional keyword arguments to include in the binding JSON.

Returns

Type Description

Decorator function.

event_hub_output

The event_hub_output decorator adds <xref:azure.durable_functions.decorators.durable_app.EventHubOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining EventHubOutput in the function.json, which enables the function to write messages to an Azure Event Hub.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-event-hubs

event_hub_output(arg_name: str, connection: str, event_hub_name: str, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable representing the Event Hub output object in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Event Hub.

event_hub_name
Required

The name of the Event Hub to send messages to.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

function_name

Optional: Sets name of the <xref:azure.durable_functions.decorators.durable_app.Function> object. If not set, it will default to the name of the method name.

additional setting fields :return: Decorator function.

function_name(name: str, setting_extra_fields: Dict[str, Any] | None = None) -> Callable[[...], Any]

Parameters

Name Description
name
Required

Name of the function.

setting_extra_fields

Keyword arguments for specifying

Default value: None

generic_input_binding

The generic_input_binding decorator adds <xref:azure.durable_functions.decorators.durable_app.GenericInputBinding> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining a generic input binding in the function.json, which enables the function to read data from a custom-defined input source.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-custom

generic_input_binding(arg_name: str, type: str, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the input parameter in the function code.

type
Required

The type of the binding.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields in the function.json.

Returns

Type Description

Decorator function.

generic_output_binding

The generic_output_binding decorator adds <xref:azure.durable_functions.decorators.durable_app.GenericOutputBinding> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining a generic output binding in the function.json, which enables the function to write data to a custom-defined output source.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-custom

generic_output_binding(arg_name: str, type: str, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the output parameter in the function code.

type
Required

The type of the binding.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields in the function.json.

Returns

Type Description

Decorator function.

generic_trigger

The generic_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.GenericTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a generic trigger in the function.json, which triggers the function to execute when generic trigger events are received by the host.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-custom

generic_trigger(arg_name: str, type: str, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the trigger parameter in the function code.

type
Required

The type of the binding.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Keyword arguments for specifying additional binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

get_functions

Get the function objects in the function app.

get_functions() -> List[Function]

Returns

Type Description

A list of <xref:azure.durable_functions.decorators.durable_app.Function> objects defined in the app.

http_type

Set http type of the <xref:azure.durable_functions.decorators.durable_app.Function> object.

http_type(http_type: str) -> Callable[[...], Any]

Parameters

Name Description
http_type
Required

Http type of the function.

Returns

Type Description

Decorator function.

kafka_output

The kafka_output decorator adds <xref:azure.durable_functions.decorators.durable_app.KafkaOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining a Kafka output binding in function.json, which enables the function to write events to a Kafka topic. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/kafkaoutput

kafka_output(arg_name: str, topic: str, broker_list: str, avro_schema: str | None = None, username: str | None = None, password: str | None = None, ssl_key_location: str | None = None, ssl_ca_location: str | None = None, ssl_certificate_location: str | None = None, ssl_key_password: str | None = None, schema_registry_url: str | None = None, schema_registry_username: str | None = None, schema_registry_password: str | None = None, o_auth_bearer_method: OAuthBearerMethod | str | None = None, o_auth_bearer_client_id: str | None = None, o_auth_bearer_client_secret: str | None = None, o_auth_bearer_scope: str | None = None, o_auth_bearer_token_endpoint_url: str | None = None, o_auth_bearer_extensions: str | None = None, max_message_bytes: int = 1000000, batch_size: int = 10000, enable_idempotence: bool = False, message_timeout_ms: int = 300000, request_timeout_ms: int = 5000, max_retries: int = 2147483647, authentication_mode: BrokerAuthenticationMode | str | None = 'NOTSET', protocol: BrokerProtocol | str | None = 'NOTSET', linger_ms: int = 5, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The variable name used in the function code that represents the output event.

topic
Required

The Kafka topic to which messages are published.

broker_list
Required

The list of Kafka brokers to which the producer connects.

avro_schema

Optional. Avro schema to generate a generic record.

Default value: None
username

SASL username for use with the PLAIN and SASL-SCRAM mechanisms. Equivalent to 'sasl.username' in librdkafka.

Default value: None
password

SASL password for use with the PLAIN and SASL-SCRAM mechanisms. Equivalent to 'sasl.password' in librdkafka.

Default value: None
ssl_key_location

Path to the client's private key (PEM) for authentication. Equivalent to 'ssl.key.location' in librdkafka.

Default value: None
ssl_ca_location

Path to the CA certificate for verifying the broker's certificate. Equivalent to 'ssl.ca.location' in librdkafka.

Default value: None
ssl_certificate_location

Path to the client's certificate file. Equivalent to 'ssl.certificate.location' in librdkafka.

Default value: None
ssl_key_password

Password for the client's SSL key. Equivalent to 'ssl.key.password' in librdkafka.

Default value: None
schema_registry_url

URL of the Avro Schema Registry.

Default value: None
schema_registry_username

Username for accessing the Schema Registry.

Default value: None
schema_registry_password

Password for accessing the Schema Registry.

Default value: None
o_auth_bearer_method

OAuth bearer method to use, e.g., 'default' or 'oidc'. Equivalent to 'sasl.oauthbearer.method' in librdkafka.

Default value: None
o_auth_bearer_client_id

Used with oidc method. Equivalent to 'sasl.oauthbearer.client.id' in librdkafka.

Default value: None
o_auth_bearer_client_secret

Used with oidc method. Equivalent to 'sasl.oauthbearer.client.secret' in librdkafka.

Default value: None
o_auth_bearer_scope

Scope of the access request sent to the broker. Equivalent to 'sasl.oauthbearer.scope' in librdkafka.

Default value: None
o_auth_bearer_token_endpoint_url

OAuth token endpoint. Equivalent to 'sasl.oauthbearer.token.endpoint.url' in librdkafka.

Default value: None
o_auth_bearer_extensions

Additional metadata sent to the broker. Comma-separated key=value pairs, e.g., "supportFeatureX=true,organizationId=sales-emea". Equivalent to 'sasl.oauthbearer.extensions' in librdkafka.

Default value: None
max_message_bytes

Maximum size (in bytes) of a transmitted message. Default is 1MB.

Default value: 1000000
batch_size

Maximum number of messages batched in one MessageSet. Default is 10,000.

Default value: 10000
enable_idempotence

If True, ensures messages are delivered exactly once and in order. Default is False.

Default value: False
message_timeout_ms

Local timeout for message delivery. Default is 300000 ms.

Default value: 300000
request_timeout_ms

Timeout for producer request acknowledgment. Default is 5000 ms.

Default value: 5000
max_retries

Maximum number of retry attempts for failed messages. Default is 2147483647. Retrying may cause reordering unless enable_idempotence=True.

Default value: 2147483647
authentication_mode

SASL mechanism used for authentication. Allowed values: Gssapi, Plain, ScramSha256, ScramSha512. Default is Plain. Equivalent to 'sasl.mechanism' in librdkafka.

Default value: NOTSET
protocol

Security protocol used for broker communication. Default is plaintext. Equivalent to 'security.protocol' in librdkafka.

Default value: NOTSET
linger_ms

Time to wait between sending batches of messages to allow for better throughput via batching.

Default value: 5
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

kafka_trigger

The kafka_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.KafkaTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a Kafka trigger in function.json, which enables the function to be triggered in response to an event sent to a Kafka topic.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/kafkatrigger

kafka_trigger(arg_name: str, topic: str, broker_list: str, event_hub_connection_string: str | None = None, consumer_group: str | None = None, avro_schema: str | None = None, username: str | None = None, password: str | None = None, ssl_key_location: str | None = None, ssl_ca_location: str | None = None, ssl_certificate_location: str | None = None, ssl_key_password: str | None = None, schema_registry_url: str | None = None, schema_registry_username: str | None = None, schema_registry_password: str | None = None, o_auth_bearer_method: OAuthBearerMethod | str | None = None, o_auth_bearer_client_id: str | None = None, o_auth_bearer_client_secret: str | None = None, o_auth_bearer_scope: str | None = None, o_auth_bearer_token_endpoint_url: str | None = None, o_auth_bearer_extensions: str | None = None, authentication_mode: BrokerAuthenticationMode | str | None = 'NotSet', protocol: BrokerProtocol | str | None = 'NotSet', cardinality: Cardinality | str | None = 'One', lag_threshold: int = 1000, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The variable name used in the function code for the parameter that receives the Kafka event data.

topic
Required

The topic monitored by the trigger.

broker_list
Required

The list of Kafka brokers monitored by the trigger.

event_hub_connection_string

The name of an app setting that contains the connection string for Event Hub (when using Kafka protocol headers with Azure Event Hubs).

Default value: None
consumer_group

Kafka consumer group used by the trigger.

Default value: None
avro_schema

Used only if a generic Avro record should be generated.

Default value: None
username

SASL username for use with the PLAIN or SASL-SCRAM mechanisms. Equivalent to 'sasl.username' in librdkafka. Default is empty string.

Default value: None
password

SASL password for use with the PLAIN or SASL-SCRAM mechanisms. Equivalent to 'sasl.password' in librdkafka. Default is empty string.

Default value: None
ssl_key_location

Path to the client's private key (PEM) used for authentication. Equivalent to 'ssl.key.location' in librdkafka.

Default value: None
ssl_ca_location

Path to the CA certificate file for verifying the broker's certificate. Equivalent to 'ssl.ca.location' in librdkafka.

Default value: None
ssl_certificate_location

Path to the client's certificate. Equivalent to 'ssl.certificate.location' in librdkafka.

Default value: None
ssl_key_password

Password for the client's certificate. Equivalent to 'ssl.key.password' in librdkafka.

Default value: None
schema_registry_url

URL of the Avro Schema Registry.

Default value: None
schema_registry_username

Username for the Schema Registry.

Default value: None
schema_registry_password

Password for the Schema Registry.

Default value: None
o_auth_bearer_method

Either 'default' or 'oidc'. Equivalent to 'sasl.oauthbearer.method' in librdkafka.

Default value: None
o_auth_bearer_client_id

Specify only if o_auth_bearer_method is 'oidc'. Equivalent to 'sasl.oauthbearer.client.id' in librdkafka.

Default value: None
o_auth_bearer_client_secret

Specify only if o_auth_bearer_method is 'oidc'. Equivalent to 'sasl.oauthbearer.client.secret' in librdkafka.

Default value: None
o_auth_bearer_scope

Specify only if o_auth_bearer_method is 'oidc'. Used to specify access scope. Equivalent to 'sasl.oauthbearer.scope'.

Default value: None
o_auth_bearer_token_endpoint_url

Specify only if o_auth_bearer_method is 'oidc'. Equivalent to 'sasl.oauthbearer.token.endpoint.url' in librdkafka.

Default value: None
o_auth_bearer_extensions

Additional information for the broker, in the form of a comma-separated list of key=value pairs (e.g., "orgId=abc,flag=true"). Equivalent to 'sasl.oauthbearer.extensions' in librdkafka.

Default value: None
authentication_mode

SASL mechanism to use. Allowed: Gssapi, Plain, ScramSha256, ScramSha512. Default: Plain. Equivalent to 'sasl.mechanism'.

Default value: NotSet
protocol

Security protocol used to communicate with brokers. Default: plaintext. Equivalent to 'security.protocol'.

Default value: NotSet
lag_threshold

Max number of unprocessed messages per worker instance. Used in scaling logic to estimate needed worker instances. Default is 1000.

Default value: 1000
data_type

Defines how Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for extra binding fields in the binding JSON.

cardinality
Default value: One

Returns

Type Description

Decorator function.

mcp_tool_trigger

The mcp_tool_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.MCPToolTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining MCPToolTrigger in the function.json, which enables the function to be triggered when MCP tool requests are received by the host.

All optional fields will be given default values by the function host when they are parsed.

Ref: https://aka.ms/remote-mcp-functions-python

mcp_tool_trigger(arg_name: str, tool_name: str, description: str | None = None, tool_properties: str | None = None, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the trigger parameter in the function code.

tool_name
Required

The logical tool name exposed to the host.

description

Optional human-readable description of the tool.

Default value: None
tool_properties

JSON-serialized tool properties/parameters list.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Keyword arguments for specifying additional binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

mysql_input

The mysql_input decorator adds <xref:azure.durable_functions.decorators.durable_app.MySqlInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining MySqlInput in the function.json, which enables the function to read data from a MySQL database. All optional fields are automatically assigned default values by the function host when parsed.

Ref: https://aka.ms/mysqlbindings

mysql_input(arg_name: str, command_text: str, connection_string_setting: str, command_type: str | None = 'Text', parameters: str | None = None, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents a <xref:azure.durable_functions.decorators.durable_app.MySqlRowList> input object in the function code.

command_text
Required

The SQL query string or the name of the stored procedure to execute.

connection_string_setting
Required

The name of the app setting that contains the connection string to the MySQL database.

command_type

The type of command being executed. Accepts "Text" for SQL queries or "StoredProcedure" for stored procedures.

Default value: Text
parameters

One or more parameter values passed to the SQL command. Should be provided as a comma-separated string in the format: "@param1=value1,@param2=value2".

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments used to define fields in the function.json binding.

Returns

Type Description

Decorator function.

mysql_output

The mysql_output decorator adds <xref:azure.durable_functions.decorators.durable_app.MySqlOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator is supported only with extension bundle 4.x and above. It is equivalent to defining MySqlOutput in the function.json, enabling the function to write data to a MySQL database.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/mysqlbindings

mysql_output(arg_name: str, command_text: str, connection_string_setting: str, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the MySQL output object in the function code.

command_text
Required

The SQL command or the name of the stored procedure executed by the binding.

connection_string_setting
Required

The name of the app setting that contains the connection string for the target MySQL database.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments used to define fields in the function.json binding.

Returns

Type Description

Decorator function.

mysql_trigger

The mysql_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.MySqlTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining MySqlTrigger in the function.json, which enables the function to be triggered when there are changes in the MySQL table. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/mysqlbindings

mysql_trigger(arg_name: str, table_name: str, connection_string_setting: str, leases_table_name: str | None = None, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents a <xref:azure.durable_functions.decorators.durable_app.MySqlRowList> object in the function code.

table_name
Required

The name of the MySQL table monitored by the trigger.

connection_string_setting
Required

The name of an app setting that contains the connection string for the database against which the query or stored procedure is executed.

leases_table_name

The name of the table used to store leases. If not specified, the default table name is Leases_{FunctionId}_{TableId}.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

orchestration_trigger

Register an Orchestrator Function.

orchestration_trigger(context_name: str, orchestration: str | None = None)

Parameters

Name Description
context_name
Required
str

Parameter name of the DurableOrchestrationContext object.

orchestration
<xref:Optional>[str]

Name of Orchestrator Function. The value is None by default, in which case the name of the method is used.

Default value: None

queue_output

The queue_output decorator adds <xref:azure.durable_functions.decorators.durable_app.QueueOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining QueueOutput in the function.json, which enables the function to write messages to an Azure Storage Queue.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-queue

queue_output(arg_name: str, queue_name: str, connection: str, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the storage queue output object in the function code.

queue_name
Required

The name of the queue to which messages will be written.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Azure Queues.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the binding JSON.

Returns

Type Description

Decorator function.

queue_trigger

The queue_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.QueueTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a QueueTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to an Azure Storage queue.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-queue

queue_trigger(arg_name: str, queue_name: str, connection: str, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.QueueMessage> object in the function code.

queue_name
Required

The name of the queue to monitor.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Azure Queues.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments to include in the binding JSON.

Returns

Type Description

Decorator function.

register_blueprint

Register a list of functions in the function app.

register_blueprint(function_container: DecoratorApi) -> None

Parameters

Name Description
function_container
Required

Instance extending <xref:azure.durable_functions.decorators.durable_app.DecoratorApi>, which contains a list of functions to be registered.

Exceptions

Type Description

If the provided container is an instance of

azure.durable_functions.decorators.durable_app.FunctionRegister

register_functions

Register a list of functions in the function app.

register_functions(function_container: DecoratorApi) -> None

Parameters

Name Description
function_container
Required

Instance extending <xref:azure.durable_functions.decorators.durable_app.DecoratorApi>, which contains a list of functions to be registered.

Exceptions

Type Description

If the provided container is an instance of

azure.durable_functions.decorators.durable_app.FunctionRegister

retry

The retry decorator adds a <xref:azure.durable_functions.decorators.durable_app.RetryPolicy> to the function settings object.

Used for building a <xref:azure.durable_functions.decorators.durable_app.Function> object in the worker function indexing model. This is equivalent to defining a RetryPolicy in function.json, which enables the function to automatically retry on failure.

All optional fields are assigned default values by the function host during parsing.

Ref: https://aka.ms/azure_functions_retries

retry(strategy: str, max_retry_count: str, delay_interval: str | None = None, minimum_interval: str | None = None, maximum_interval: str | None = None, setting_extra_fields: Dict[str, Any] | None = None) -> Callable[[...], Any]

Parameters

Name Description
strategy
Required

The retry strategy to use.

max_retry_count
Required

The maximum number of retry attempts.

delay_interval

The delay interval between retry attempts.

Default value: None
minimum_interval

The minimum delay interval between retry attempts.

Default value: None
maximum_interval

The maximum delay interval between retry attempts.

Default value: None
setting_extra_fields

Keyword arguments for specifying additional setting fields.

Default value: None

Returns

Type Description

Decorator function.

route

The route decorator adds <xref:azure.durable_functions.decorators.durable_app.HttpTrigger> and <xref:azure.durable_functions.decorators.durable_app.HttpOutput> bindings to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining both HttpTrigger and HttpOutput bindings in the function.json, which enables your function to be triggered when HTTP requests hit the specified route.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-http

route(route: str | None = None, trigger_arg_name: str = 'req', binding_arg_name: str = '$return', methods: Iterable[str] | Iterable[HttpMethod] | None = None, auth_level: AuthLevel | str | None = None, trigger_extra_fields: Dict[str, Any] | None = None, binding_extra_fields: Dict[str, Any] | None = None) -> Callable[[...], Any]

Parameters

Name Description
route

Route for the HTTP endpoint. If None, it defaults to the function name (if present) or the user-defined Python function name.

Default value: None
trigger_arg_name

Argument name for <xref:azure.durable_functions.decorators.durable_app.HttpRequest>. Defaults to 'req'.

Default value: req
binding_arg_name

Argument name for <xref:azure.durable_functions.decorators.durable_app.HttpResponse>. Defaults to '$return'.

Default value: $return
methods

A tuple of the HTTP methods to which the function responds.

Default value: None
auth_level

Determines what keys, if any, need to be present on the request in order to invoke the function.

Default value: None
trigger_extra_fields

Additional fields to include in the trigger JSON. For example:

data_type='STRING' # results in 'dataType': 'STRING' in the trigger JSON

Default value: None
binding_extra_fields

Additional fields to include in the binding JSON. For example:

data_type='STRING' # results in 'dataType': 'STRING' in the binding JSON

Default value: None

Returns

Type Description

Decorator function.

schedule

The schedule or timer decorator adds <xref:azure.durable_functions.decorators.durable_app.TimerTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a TimerTrigger in the function.json, which enables your function to be triggered on the specified schedule.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-timer

schedule(arg_name: str, schedule: str, run_on_startup: bool | None = None, use_monitor: bool | None = None, data_type: DataType | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.TimerRequest> object in function code.

schedule
Required

A string representing a CRON expression used to schedule the function execution.

run_on_startup

If True, the function is invoked when the runtime starts.

Default value: None
use_monitor

Set to True or False to indicate whether the schedule should be monitored.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None

Returns

Type Description

Decorator function.

semantic_search_input

Enable semantic search capabilities using vector databases and OpenAI models.

This feature allows you to import documents into a vector database via an output binding and perform semantic queries against them via an input binding. For example, one function can import documents into the database, while another function issues queries to OpenAI using that data as context — a pattern known as Retrieval Augmented Generation (RAG).

Ref: https://platform.openai.com/docs/guides/embeddings

semantic_search_input(arg_name: str, search_connection_name: str, collection: str, query: str | None = None, ai_connection_name: str | None = '', embeddings_model: str | OpenAIModels | None = OpenAIModels.DefaultEmbeddingsModel, chat_model: str | OpenAIModels | None = OpenAIModels.DefaultChatModel, system_prompt: str | None = 'You are a helpful assistant. You are responding to requests\n    from a user about internal emails and documents. You can and\n    should refer to the internal documents to help respond to\n    requests. If a user makes a request that\'s not covered by the\n    internal emails and documents, explain that you don\'t know the\n    answer or that you don\'t have access to the information.\n\n    The following is a list of documents that you can refer to when\n    answering questions. The documents are in the format\n    [filename]: [text] and are separated by newlines. If you answer\n    a question by referencing any of the documents, please cite the\n    document in your answer. For example, if you answer a question\n    by referencing info.txt, you should add "Reference: info.txt"\n    to the end of your answer on a separate line.', max_knowledge_count: int | None = 1, temperature: str | None = '0.5', top_p: str | None = None, max_tokens: str | None = '100', is_reasoning_model: bool | None = False, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the binding parameter in the function code.

search_connection_name
Required

The name of the app setting or environment variable that contains the vector search connection value.

collection
Required

The name of the collection or table to search or store.

query

The semantic query text used for searching the database.

Default value: None
ai_connection_name
Required

The name of the configuration section for AI service connectivity settings.

  • For Azure OpenAI: If specified, looks for "Endpoint" and/or "Key" in this configuration section.

  • If not specified or the section is missing, defaults to the environment variables AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_KEY.

  • For user-assigned managed identity authentication, this field is required.

  • For OpenAI (non-Azure), set the OPENAI_API_KEY environment variable.

embeddings_model

The deployment or model name for OpenAI Embeddings. Defaults to "text-embedding-ada-002".

Default value: DefaultEmbeddingsModel
chat_model

The deployment or model name for the OpenAI Chat Completion API. Defaults to "gpt-3.5-turbo".

Default value: DefaultChatModel
system_prompt

Optional. The system prompt provided to the large language model.

Default value: You are a helpful assistant. You are responding to requests from a user about internal emails and documents. You can and should refer to the internal documents to help respond to requests. If a user makes a request that's not covered by the internal emails and documents, explain that you don't know the answer or that you don't have access to the information. The following is a list of documents that you can refer to when answering questions. The documents are in the format [filename]: [text] and are separated by newlines. If you answer a question by referencing any of the documents, please cite the document in your answer. For example, if you answer a question by referencing info.txt, you should add "Reference: info.txt" to the end of your answer on a separate line.
max_knowledge_count

Optional. The number of knowledge items to inject into the system prompt. Default is 1.

Default value: 1
temperature

The sampling temperature to use (range: 0 to 2). Higher values like 0.8 yield more random output; lower values like 0.2 make output more focused.

Default value: 0.5
top_p

Alternative to temperature sampling (nucleus sampling). For example, 0.1 considers only the top 10% of tokens by probability mass. Use this or temperature.

Default value: None
max_tokens

The maximum number of tokens to generate in the completion. The sum of prompt tokens and max_tokens must not exceed the model's context length (usually 2048 or 4096 for newer models).

Default value: 100
is_reasoning_model

Indicates whether the chat model is a reasoning model. If True, max_tokens and temperature are not supported.

Default value: False
data_type

Optional. Defines how the Functions runtime should interpret the parameter value. Default is None.

Default value: None
kwargs
Required

Additional keyword arguments for specifying extra fields in the function.json binding.

Returns

Type Description

Decorator function.

service_bus_queue_output

The service_bus_queue_output decorator adds <xref:azure.durable_functions.decorators.durable_app.ServiceBusQueueOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining ServiceBusQueueOutput in the function.json, which enables the function to write messages to a Service Bus queue.

All optional fields will be assigned default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-service-bus

service_bus_queue_output(arg_name: str, connection: str, queue_name: str, data_type: DataType | str | None = None, access_rights: AccessRights | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Service Bus queue output object in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Service Bus.

queue_name
Required

The name of the queue to which messages will be sent.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
access_rights

The access rights required for the connection string.

Default value: None

Returns

Type Description

Decorator function.

service_bus_queue_trigger

The on_service_bus_queue_change decorator adds <xref:azure.durable_functions.decorators.durable_app.ServiceBusQueueTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a ServiceBusQueueTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to the Service Bus queue.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-service-bus

service_bus_queue_trigger(arg_name: str, connection: str, queue_name: str, data_type: DataType | str | None = None, access_rights: AccessRights | str | None = None, is_sessions_enabled: bool | None = None, cardinality: Cardinality | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.ServiceBusMessage> object in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Service Bus.

queue_name
Required

The name of the queue to monitor.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
access_rights

Access rights for the connection string.

Default value: None
is_sessions_enabled

Set to True if connecting to a session-aware queue or subscription.

Default value: None
cardinality

Set to "many" to enable batching.

Default value: None

Returns

Type Description

Decorator function.

service_bus_topic_output

The service_bus_topic_output decorator adds <xref:azure.durable_functions.decorators.durable_app.ServiceBusTopicOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining ServiceBusTopicOutput in the function.json, which enables the function to write messages to a Service Bus topic.

All optional fields will be assigned default values by the function host when they are parsed.

Ref: https://aka.ms/azure-function-binding-service-bus

service_bus_topic_output(arg_name: str, connection: str, topic_name: str, subscription_name: str | None = None, data_type: DataType | str | None = None, access_rights: AccessRights | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the Service Bus topic output object in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Service Bus.

topic_name
Required

The name of the topic to which messages will be sent.

subscription_name

The name of the subscription (optional for output).

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value. Defaults to DataType.UNDEFINED.

Default value: None
access_rights

The access rights required for the connection string.

Default value: None

Returns

Type Description

Decorator function.

service_bus_topic_trigger

The on_service_bus_topic_change decorator adds <xref:azure.durable_functions.decorators.durable_app.ServiceBusTopicTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a ServiceBusTopicTrigger in the function.json, which enables the function to be triggered when new message(s) are sent to a Service Bus topic.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-service-bus

service_bus_topic_trigger(arg_name: str, connection: str, topic_name: str, subscription_name: str, data_type: DataType | str | None = None, access_rights: AccessRights | str | None = None, is_sessions_enabled: bool | None = None, cardinality: Cardinality | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.ServiceBusMessage> object in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to Service Bus.

topic_name
Required

The name of the topic to monitor.

subscription_name
Required

The name of the subscription to monitor.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
access_rights

Access rights for the connection string.

Default value: None
is_sessions_enabled

Set to True if connecting to a session-aware queue or subscription.

Default value: None
cardinality

Set to "many" to enable batching.

Default value: None

Returns

Type Description

Decorator function.

sql_input

The sql_input decorator adds <xref:azure.durable_functions.decorators.durable_app.SqlInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining SqlInput in the function.json, which enables the function to read from a SQL database. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/sqlbindings

sql_input(arg_name: str, command_text: str, connection_string_setting: str, command_type: str | None = 'Text', parameters: str | None = None, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents a <xref:azure.durable_functions.decorators.durable_app.SqlRowList> input object in the function code.

command_text
Required

The Transact-SQL query or the name of the stored procedure executed by the binding.

connection_string_setting
Required

The name of the app setting that contains the connection string to the target SQL database.

command_type

The command type. Use "Text" for a raw SQL query and "StoredProcedure" for a stored procedure.

Default value: Text
parameters

A comma-separated string of parameter assignments to pass to the SQL command. Format: *@param1=value1,@param2=value2*

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

sql_output

The sql_output decorator adds <xref:azure.durable_functions.decorators.durable_app.SqlOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining SqlOutput in the function.json, which enables the function to write to a SQL database. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/sqlbindings

sql_output(arg_name: str, command_text: str, connection_string_setting: str, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the SQL output object in the function code.

command_text
Required

The Transact-SQL query or the name of the stored procedure executed by the binding.

connection_string_setting
Required

The name of the app setting that contains the connection string to the target SQL database.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

sql_trigger

The sql_trigger decorator adds <xref:azure.durable_functions.decorators.durable_app.SqlTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This decorator works only with extension bundle 4.x and above. It is equivalent to defining SqlTrigger in the function.json, which enables the function to be triggered when there are changes in the SQL table. All optional fields are assigned default values by the function host when parsed.

Ref: https://aka.ms/sqlbindings

sql_trigger(arg_name: str, table_name: str, connection_string_setting: str, leases_table_name: str | None = None, data_type: DataType | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents a <xref:azure.durable_functions.decorators.durable_app.SqlRowList> object in the function code.

table_name
Required

The name of the SQL table monitored by the trigger.

connection_string_setting
Required

The name of an app setting that contains the connection string for the database against which the query or stored procedure is executed.

leases_table_name

The name of the table used to store leases. If not specified, the default name is Leases_{FunctionId}_{TableId}.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

table_input

The table_input decorator adds <xref:azure.durable_functions.decorators.durable_app.TableInput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining TableInput in the function.json, which enables the function to read from a table in Azure Storage or a Cosmos DB account.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/tablesbindings

table_input(arg_name: str, connection: str, table_name: str, row_key: str | None = None, partition_key: str | None = None, take: int | None = None, filter: str | None = None, data_type: DataType | str | None = None) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the table or entity in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to the table service.

table_name
Required

The name of the table.

row_key

The row key of the table entity to read.

Default value: None
partition_key

The partition key of the table entity to read.

Default value: None
take

The maximum number of entities to return.

Default value: None
filter

An OData filter expression to apply when retrieving entities.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None

Returns

Type Description

Decorator function.

table_output

The table_output decorator adds <xref:azure.durable_functions.decorators.durable_app.TableOutput> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> object used in the worker function indexing model.

This is equivalent to defining TableOutput in the function.json, which enables the function to write entities to a table in Azure Storage.

All optional fields will be assigned default values by the function host when parsed.

Ref: https://aka.ms/tablesbindings

table_output(arg_name: str, connection: str, table_name: str, row_key: str | None = None, partition_key: str | None = None, data_type: DataType | str | None = None) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the table or entity in the function code.

connection
Required

The name of an app setting or setting collection that specifies how to connect to the table service.

table_name
Required

The name of the table.

row_key

The row key of the table entity to read.

Default value: None
partition_key

The partition key of the table entity to read.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None

Returns

Type Description

Decorator function.

text_completion_input

The textCompletion input binding is used to invoke the OpenAI Chat Completions API and return the generated results to the function.

Ref: https://platform.openai.com/docs/guides/text-generation/chat-completions-vs-completions

The examples typically define an HTTP-triggered function with a hardcoded prompt such as "who is {name}?", where {name} is dynamically substituted from the HTTP request path. The OpenAI input binding sends this prompt to the configured GPT model and returns the generated response to the function, which then returns the result as the HTTP response content.

text_completion_input(arg_name: str, prompt: str, ai_connection_name: str | None = '', chat_model: str | OpenAIModels | None = OpenAIModels.DefaultChatModel, temperature: str | None = '0.5', top_p: str | None = None, max_tokens: str | None = '100', is_reasoning_model: bool | None = False, data_type: DataType | str | None = None, **kwargs) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the binding parameter in the function code.

prompt
Required

The text prompt to generate completions for.

ai_connection_name
Required

The name of the configuration section that defines AI service connectivity settings.

  • For Azure OpenAI: If specified, it looks for "Endpoint" and/or

"Key" in this section. If not specified or missing, it falls back to the environment variables AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_KEY.

  • For user-assigned managed identity, this setting is required.
  • For non-Azure OpenAI, ensure the OPENAI_API_KEY environment variable is set.
model
Required

(Deprecated) Use chat_model instead. This parameter is unused and will be removed in future versions.

chat_model

The deployment or model name to use for the Chat Completions API. Default is "gpt-3.5-turbo".

Default value: DefaultChatModel
temperature

Sampling temperature (0–2). Higher values (e.g., 0.8) produce more random output; lower values (e.g., 0.2) make output more focused and deterministic.

Default value: 0.5
top_p

Controls nucleus sampling. For example, top_p=0.1 considers only tokens in the top 10% cumulative probability. Recommended to use either temperature or top_p, but not both.

Default value: None
max_tokens

The maximum number of tokens to generate. The sum of prompt tokens and max_tokens must not exceed the model's context length (usually 2048 or 4096 for newer models).

Default value: 100
is_reasoning_model

If True, indicates that the configured chat model is a reasoning model. In this case, max_tokens and temperature are not supported.

Default value: False
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None
kwargs
Required

Additional keyword arguments for specifying binding fields to include in the function.json.

Returns

Type Description

Decorator function.

timer_trigger

The schedule or timer decorator adds <xref:azure.durable_functions.decorators.durable_app.TimerTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a TimerTrigger in the function.json, which enables your function to be triggered on the specified schedule.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-timer

timer_trigger(arg_name: str, schedule: str, run_on_startup: bool | None = None, use_monitor: bool | None = None, data_type: DataType | str | None = None, **kwargs: Any) -> Callable[[...], Any]

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.TimerRequest> object in function code.

schedule
Required

A string representing a CRON expression used to schedule the function execution.

run_on_startup

If True, the function is invoked when the runtime starts.

Default value: None
use_monitor

Set to True or False to indicate whether the schedule should be monitored.

Default value: None
data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None

Returns

Type Description

Decorator function.

validate_function_names

Validate that all functions have unique names within the app.

The functions_bindings dictionary maps function names to their bindings. If multiple functions share the same name, indexing will fail.

validate_function_names(functions: List[Function])

Parameters

Name Description
functions
Required

A list of <xref:azure.durable_functions.decorators.durable_app.Function> objects to validate.

Exceptions

Type Description

If any function name is duplicated.

warm_up_trigger

The warm_up decorator adds <xref:azure.durable_functions.decorators.durable_app.WarmUpTrigger> to the <xref:azure.durable_functions.decorators.durable_app.FunctionBuilder> object for building a <xref:azure.durable_functions.decorators.durable_app.Function> used in the worker function indexing model.

This is equivalent to defining a WarmUpTrigger in the function.json, which enables your function to be triggered on the specified schedule.

All optional fields will be given default values by the function host when parsed.

Ref: https://aka.ms/azure-function-binding-warmup

warm_up_trigger(arg_name: str, data_type: DataType | str | None = None, **kwargs) -> Callable

Parameters

Name Description
arg_name
Required

The name of the variable that represents the <xref:azure.durable_functions.decorators.durable_app.TimerRequest> object in the function code.

data_type

Defines how the Functions runtime should treat the parameter value.

Default value: None

Returns

Type Description

Decorator function.

Attributes

app_script_file

Name of function app script file in which all the functions are defined.

Script file defined here is for placeholder purpose, please refer to worker defined script file path as the single point of truth.

Returns

Type Description

Script file name.

auth_level

Authorization level of the function app. Will be applied to the http trigger functions which do not have authorization level specified.

Returns

Type Description

Authorization level of the function app.