Type object
File match function.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/function-json/latest.json
Source https://www.schemastore.org/function.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

disabled boolean

If set to true, marks the function as disabled (it cannot be triggered).

excluded boolean

If set to true, the function will not be loaded, compiled, or triggered.

scriptFile string

Optional path to function script file.

entryPoint string

Optional named entry point.

configurationSource enum

For C# precompiled functions only. If set to 'attributes', use WebJobs attributes to specify bindings. Otherwise, use the 'bindings' property of this function.json.

Values: "attributes" "config"
retry object

Retry policy of function execution failures.

5 nested properties
strategy enum

Retry strategy to use for retrying function executions

Default: "exponentialBackoff"
Values: "exponentialBackoff" "fixedDelay"
maxRetryCount integer

The maximum number of retries allowed per function execution. -1 means to retry indefinitely.

delayInterval string | enum

Value indicating the delayInterval for function execution retries when using FixedDelay strategy.

minimumInterval string | enum

Value indicating the minimumInterval for function execution retries when using ExponentialBackoff strategy.

maximumInterval string | enum

Value indicating the maximumInterval for function execution retries when using ExponentialBackoff strategy.

bindings dynamicBinding | serviceBusBinding | blobBinding | manualTriggerBinding | eventHubBinding | timerTriggerBinding | queueBinding | httpBinding | mobileBinding | documentDBBinding | tableBinding | notificationHubBinding | twilioSmsBinding | sendGridBinding | sqlBinding | kustoBinding | mySqlBinding[]

A list of function bindings.

Definitions

bindingBase object
name string required
type string required
direction string required
Values: "in" "out" "inout"
dataType enum

The data type hint for the binding parameter (string, binary, or stream).

Values: "string" "binary" "stream"
dynamicBinding
type
direction enum
Values: "in" "out" "inout"
serviceBusBinding object
queueName string

The service bus queue to monitor (if using a queue)

topicName string

The service bus topic to monitor (if using a queue)

subscriptionName string

The topic subscription name

connection string

An app setting (or environment variable) with the service bus connection string to be used by this binding.

accessRights string

The permission level of the service bus connection string used by this binding.

Values: "manage" "listen" "send"
blobBinding object
path string

The path to the blob container

connection string

An app setting (or environment variable) with the storage connection string to be used by this binding.

manualTriggerBinding
type enum
Values: "manualTrigger"
direction enum
Values: "in"
eventHubBinding object
path string

The event hub path.

connection string

The event hub connection string setting.

timerTriggerBinding
type enum
Values: "timerTrigger"
direction enum
Values: "in"
schedule string

A cron expression of the format '{second} {minute} {hour} {day} {month} {day of week}' to specify the schedule.

runOnStartup boolean

When true, your timer function will be invoked immediately after a runtime restart and on-schedule thereafter.

useMonitor boolean

When true, schedule will be persisted to aid in maintaining the correct schedule even through restarts. Defaults to true for schedules with interval >= 1 minute.

queueBinding object
queueName string

The queue name.

connection string

An app setting (or environment variable) with the storage connection string to be used by this binding.

httpTrigger
httpBinding
mobileBinding object
type enum
Values: "mobileTable"
tableName string

This is the name of the table within your Mobile App to which data will be written.

connection string

This is the app setting name that specifies the URL of your Mobile App.

apiKey string

This is app setting name that specifies the API Key for your Mobile App.

documentDBBinding object
type enum
Values: "documentDB"
connection string

This is the connection string for your DocumentDB account.

databaseName string

This is the name of the database within your DocumentDB account to which data will be written.

collectionName string

This is the name of the collection within your database to which data will be written.

tableBinding object
type enum
Values: "table"
tableName string

The name of the storage table.

partitionKey string

The partition key.

rowKey string

The table row key.

connection string

An app setting (or environment variable) with the storage connection string to be used by this binding.

notificationHubBinding
type enum
Values: "notificationHub"
direction enum
Values: "out"
tagExpression string

The tag to send the notification to.

hubName string

The name of the notification hub.

connection string

The name of the app setting which contains the notification hub connection string.

platform string

The notification platform to target. Sends template notification if platform is omitted.

Values: "apns" "adm" "gcm" "wns" "mpns"
twilioSmsBinding
type enum
Values: "twilioSms"
direction enum
Values: "out"
accountSid string

The name of the app setting which contains your Twilio Account Sid.

authToken string

The name of the app setting which contains your Twilio authentication token.

to string

The phone number the SMS text is sent to.

from string

The phone number the SMS text is sent from.

body string

Optional body of SMS text message.

sendGridBinding
type enum
Values: "sendGrid"
direction enum
Values: "out"
apiKey string

The name of the app setting which contains your SendGrid api key.

to string

The email address to send to.

from string

The email address to send from.

subject string

The subject of the email.

text string

The text of the email.

sqlBinding object
connectionStringSetting string

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

kustoBinding object
connection string

Name of the app setting that contains the kusto connection string used to connect to kusto.

database string

Name of the database within your kusto account to which data will be read/written.

managedServiceIdentity string

A managed service identity that has to be attached to use the bindings.

type enum
Values: "kusto"
mySqlBinding object
connectionStringSetting string

The name of the app setting that contains the MySql connection string used to connect to the database.