Skip to content

Functions 1.0.11002

Compare
Choose a tag to compare
@mathewc mathewc released this 01 Jun 05:54
· 2849 commits to dev since this release

In this release:

  • Support for dotted paths in binding expressions
    • previously binding expressions could only reference the top level binding data properties
    • now, if your trigger data contains nested objects, you can reference those properties as well
    • see Http binding examples below which are a good example of this. However, this works with your own POCO objects as well
  • Http binding support for headers and query parameters
    • you can now reference request header and query string parameter values by name in binding expressions
    • e.g. {headers.MyHeader}, {query.MyParam}
  • Http binding support for nested object properties
    • now, in addition to being able to reference top level properties of JSON bodies, you can reference nested properties as well
    • e.g. assuming JSON payload { a: 123, b: "testing", c: { d: 456 } }, you can use binding expression {c.d} to reference properties of the nested object
  • increased max function timeout from 5 minutes to 10 minutes
    • the default remains the same (5 minutes). You can configure the functionTimeout value as described in the host.json wiki
  • Support for optional string route parameters in Http functions (addresses Azure/azure-webjobs-sdk-extensions#224)
    • e.g. you can now have a route like products/{category:alpha?}/{id:guid?} where the string (alpha) route segement is optional
  • improvements to ServiceBus binding connection management (see Azure/azure-webjobs-sdk#1150)
    • previously for Node.js functions using ServiceBus bindings, we had an issue were we were creating new MessageFactory instances per function invocation. These are now cached/shared as per Service Bus performance guidelines
  • fix for duplicate SQL query parameters in DocumentDB binding (Azure/azure-webjobs-sdk-extensions#228)
  • Added functionDirectory and functionName to the execution context (#1472)
    • e.g. within a Node.js function you can access via context.executionContext.functionDirectory. Within a C# function you'd add an ExecutionContext context parameter and access via context.FunctionName (more details here)
  • various other bug fixes