Get desktop application:
View/edit binary Protocol Buffers messages
Interface exported by the server.
Used to identify message between host and worker
Payload of the message
Worker initiates stream
Host sends capabilities/init data to worker
Worker responds after initializing with its capabilities & status
MESSAGE NOT USED Worker periodically sends empty heartbeat message to host
Host sends terminate message to worker. Worker terminates if it can, otherwise host terminates after a grace period
Host periodically sends status request to the worker
On file change event, host sends notification to worker
Worker requests a desired action (restart worker, reload function)
Host sends required metadata to worker to load function
Worker responds after loading with the load result
Host requests a given invocation
Worker responds to a given invocation
Host sends cancel message to attempt to cancel an invocation. If an invocation is cancelled, host will receive an invocation response with status cancelled.
Worker logs a message back to the host
Ask the worker to close any open shared memory resources for a given invocation
Worker indexing message types
Host sends required metadata to worker to load functions
Host gets the list of function load responses
Host sends required metadata to worker to warmup the worker
Worker responds after warming up with the warmup result
Used to describe a given binding on load
Used in:
Type of binding (e.g. HttpTrigger)
Direction of the given binding
Properties for binding metadata
Indicates the type of the data for the binding
Used in:
Indicates whether it is an input or output binding (or a fancy inout binding)
Used in:
Tell the out-of-proc worker to close any shared memory maps it allocated for given invocation
Used in:
Response from the worker indicating which of the shared memory maps have been successfully closed and which have not been closed The key (string) is the map name and the value (bool) is true if it was closed, false if not
Used in:
Used to encapsulate collection bytes
Used in:
Used to encapsulate collection double
Used in:
Used to encapsulate collection model_binding_data
Used in:
Used to encapsulate collection sint64
Used in:
Used to encapsulate collection string
Used in:
Host notifies worker of file content change
Used in:
type for this event
full file path for the file change notification
Name of the function affected
Types of File change operations (See link for more info: https://msdn.microsoft.com/en-us/library/t6xf43e0(v=vs.110).aspx)
Used in:
Used in:
Environment variables from the current process
Current directory of function app
Used in:
After specialization, worker sends capabilities & metadata. Worker metadata captured for telemetry purposes
A map of worker supported features/capabilities
Status of the response
If no strategy is defined, the host will default to merge
Used in:
overwrites existing values and appends new ones ex. worker init: {A: foo, B: bar} + env reload: {A:foo, B: foo, C: foo} -> {A: foo, B: foo, C: foo}
existing capabilities are cleared and new capabilities are applied ex. worker init: {A: foo, B: bar} + env reload: {A:foo, C: foo} -> {A: foo, C: foo}
Load request of a single Function
Used in:
,unique function identifier (avoid name collisions, facilitate reload case)
Metadata for the request
A flag indicating if managed dependency is enabled or not
Host tells the worker to load a list of Functions
Used in:
Worker tells host result of reload
Used in:
,unique function identifier
Result of load operation
TODO: return type expected?
Result of load operation
Host gets the list of function load responses
Used in:
Worker sends function metadata back to host
Used in:
list of function indexing responses
status of overall metadata request
if set to true then host will perform indexing
Host tells worker it is ready to receive metadata
Used in:
base directory for function app
Host requests worker to cancel invocation
Used in:
Unique id for invocation
PROPERTY NOT USED
Host requests worker to invoke a Function
Used in:
Unique id for each invocation
Unique id for each Function
Input bindings (include trigger)
binding metadata from trigger
Populates activityId, tracestate and tags from host
Current retry context
Worker responds with status of Invocation
Used in:
Unique id for invocation
Output binding data
data returned from Function (for $return and triggers with return support)
Status of the invocation (success/failure/canceled)
Message representing Microsoft.Azure.WebJobs.ParameterBindingData Used for hydrating SDK-type bindings in out-of-proc workers
Used in:
,The version of the binding data content
The extension source of the binding data
The content type of the binding data content
The binding data content
Used to describe a given binding on invocation
Used in:
,Name for the binding
Data for the binding
Metadata about the shared memory region to read data from
Host sends retry context for a function invocation
Used in:
Current retry count
Max retry count
Exception that caused the retry
Specify which type of data is contained in the shared memory region being read
Used in:
Encapsulates an Exception
Used in:
, ,Source of the exception
Stack trace for the exception
Textual message describing the exception
Worker specifies whether exception is a user exception, for purpose of application insights logging. Defaults to false.
Type of exception. If it's a user exception, the type is passed along to app insights. Otherwise, it's ignored for now.
Information on how a Function should be loaded and its bindings
Used in:
,TODO: do we want the host's name - the language worker might do a better job of assignment than the host
base directory for the Function
Script file specified
Entry point specified
Bindings info
Is set to true for proxy
Function indexing status
Function language
Raw binding info
unique function identifier (avoid name collisions, facilitate reload case)
A flag indicating if managed dependency is enabled or not
The optional function execution retry strategy to use on invocation failures.
Properties for function metadata They're usually specific to a worker and largely passed along to the controller API for use outside the host
TODO - solidify this or remove it
Used in:
Http cookie type. Note that only name and value are used for Http requests
Used in:
Cookie name
Cookie value
Specifies allowed hosts to receive the cookie
Specifies URL path that must exist in the requested URL
Sets the cookie to expire at a specific date instead of when the client closes. It is generally recommended that you use "Max-Age" over "Expires".
Sets the cookie to only be sent with an encrypted request
Sets the cookie to be inaccessible to JavaScript's Document.cookie API
Allows servers to assert that a cookie ought not to be sent along with cross-site requests
Number of seconds until the cookie expires. A zero or negative number will expire the cookie immediately.
Enum that lets servers require that a cookie shouldn't be sent with cross-site requests
Used in:
Used to send logs back to the Host
Used in:
,Unique id for invocation (if exists)
TOD: This should be an enum Category for the log (startup, load, invocation, etc.)
Level for the given log message
Message for the given log
Id for the even associated with this log (if exists)
Exception (if exists)
json serialized property bag
Category of the log. Either user(default), system, or custom metric.
strongly-typed (ish) property bag
Matching ILogger semantics https://github.com/aspnet/Logging/blob/9506ccc3f3491488fe88010ef8b9eb64594abf95/src/Microsoft.Extensions.Logging/Logger.cs Level for the Log
Used in:
,Category of the log. Defaults to User if not specified.
Used in:
Retry policy which the worker sends the host when the worker indexes a function.
Used in:
The maximum number of retries allowed per function execution. -1 means to retry indefinitely.
The delay that's used between retries when you're using a fixed delay strategy.
The minimum retry delay when you're using an exponential backoff strategy
The maximum retry delay when you're using an exponential backoff strategy
The retry strategy to use. Valid values are fixed delay or exponential backoff.
Used in:
Used to provide metadata about shared memory region to read data from
Used in:
Name of the shared memory map containing data
Offset in the shared memory map to start reading data from
Number of bytes to read (starting from the offset)
Final type to which the read data (in bytes) is to be interpreted as
Host sends ActivityId, traceStateString and Tags from host
Used in:
This corresponds to Activity.Current?.Id
This corresponds to Activity.Current?.TraceStateString
This corresponds to Activity.Current?.Tags
Worker sends the host information identifying itself
Used in:
id of the worker
Used by the host to determine success/failure/cancellation
Used in:
, , , , , ,Status for the given result
Specific message about the result
Exception message (if exists) for the status
Captured logs or relevant details can use the logs property
Indicates Failure/Success/Cancelled
Used in:
Used to encapsulate data which could be a variety of types
Used in:
, , , ,Indicates whether worker reloaded successfully or needs a restart
Used in:
action for this response
text reason for the response
indicates whether a restart is needed, or reload successfully
Used in:
MESSAGE NOT USED TODO: Remove from protobuf during next breaking change release
Used in:
(message has no fields)
Host requests the worker to initialize itself
Used in:
version of the host sending init request
A map of host supported features/capabilities
inform worker of supported categories and their levels i.e. Worker = Verbose, Function.MyFunc = None
Full path of worker.config.json location
base directory for function app
Worker responds with the result of initializing itself
Used in:
PROPERTY NOT USED TODO: Remove from protobuf during next breaking change release
A map of worker supported features/capabilities
Status of the response
Worker metadata captured for telemetry purposes
Used in:
,The runtime/stack name
The version of the runtime/stack
The version of the worker
The worker bitness/architecture
Optional additional custom properties
Used by the host to determine worker health
Used in:
(message has no fields)
Worker responds with status message TODO: Add any worker relevant status to response
Used in:
(message has no fields)
Warning before killing the process after grace_period Worker self terminates ..no response on this
Used in:
Used in:
Full path of worker.config.json location
Used in: