@@ -32,7 +32,8 @@ message StreamingMessage {
32
32
WorkerInitRequest worker_init_request = 17 ;
33
33
// Worker responds after initializing with its capabilities & status
34
34
WorkerInitResponse worker_init_response = 16 ;
35
-
35
+
36
+ // MESSAGE NOT USED
36
37
// Worker periodically sends empty heartbeat message to host
37
38
WorkerHeartbeat worker_heartbeat = 15 ;
38
39
@@ -85,6 +86,13 @@ message StreamingMessage {
85
86
86
87
// Host gets the list of function load responses
87
88
FunctionLoadResponseCollection function_load_response_collection = 32 ;
89
+
90
+ // Host sends required metadata to worker to warmup the worker
91
+ WorkerWarmupRequest worker_warmup_request = 33 ;
92
+
93
+ // Worker responds after warming up with the warmup result
94
+ WorkerWarmupResponse worker_warmup_response = 34 ;
95
+
88
96
}
89
97
}
90
98
@@ -120,7 +128,7 @@ message WorkerInitRequest {
120
128
121
129
// Worker responds with the result of initializing itself
122
130
message WorkerInitResponse {
123
- // NOT USED
131
+ // PROPERTY NOT USED
124
132
// TODO: Remove from protobuf during next breaking change release
125
133
string worker_version = 1 ;
126
134
@@ -173,7 +181,7 @@ message StatusResult {
173
181
repeated RpcLog logs = 3 ;
174
182
}
175
183
176
- // NOT USED
184
+ // MESSAGE NOT USED
177
185
// TODO: Remove from protobuf during next breaking change release
178
186
message WorkerHeartbeat {}
179
187
@@ -187,7 +195,7 @@ message WorkerTerminate {
187
195
message FileChangeEventRequest {
188
196
// Types of File change operations (See link for more info: https://msdn.microsoft.com/en-us/library/t6xf43e0(v=vs.110).aspx)
189
197
enum Type {
190
- Unknown = 0 ;
198
+ Unknown = 0 ;
191
199
Created = 1 ;
192
200
Deleted = 2 ;
193
201
Changed = 4 ;
@@ -237,6 +245,13 @@ message FunctionEnvironmentReloadRequest {
237
245
}
238
246
239
247
message FunctionEnvironmentReloadResponse {
248
+ // After specialization, worker sends capabilities & metadata.
249
+ // Worker metadata captured for telemetry purposes
250
+ WorkerMetadata worker_metadata = 1 ;
251
+
252
+ // A map of worker supported features/capabilities
253
+ map <string , string > capabilities = 2 ;
254
+
240
255
// Status of the response
241
256
StatusResult result = 3 ;
242
257
}
@@ -325,7 +340,7 @@ message RpcFunctionMetadata {
325
340
// Properties for function metadata
326
341
// They're usually specific to a worker and largely passed along to the controller API for use
327
342
// outside the host
328
- map <string ,string > Properties = 16 ;
343
+ map <string ,string > properties = 16 ;
329
344
}
330
345
331
346
// Host tells worker it is ready to receive metadata
@@ -369,14 +384,14 @@ message InvocationRequest {
369
384
370
385
// Host sends ActivityId, traceStateString and Tags from host
371
386
message RpcTraceContext {
372
- // This corresponds to Activity.Current?.Id
373
- string trace_parent = 1 ;
387
+ // This corresponds to Activity.Current?.Id
388
+ string trace_parent = 1 ;
374
389
375
- // This corresponds to Activity.Current?.TraceStateString
376
- string trace_state = 2 ;
390
+ // This corresponds to Activity.Current?.TraceStateString
391
+ string trace_state = 2 ;
377
392
378
- // This corresponds to Activity.Current?.Tags
379
- map <string , string > attributes = 3 ;
393
+ // This corresponds to Activity.Current?.Tags
394
+ map <string , string > attributes = 3 ;
380
395
}
381
396
382
397
// Host sends retry context for a function invocation
@@ -396,8 +411,8 @@ message InvocationCancel {
396
411
// Unique id for invocation
397
412
string invocation_id = 2 ;
398
413
399
- // Time period before force shutdown
400
- google.protobuf.Duration grace_period = 1 ; // could also use absolute time
414
+ // PROPERTY NOT USED
415
+ google.protobuf.Duration grace_period = 1 ;
401
416
}
402
417
403
418
// Worker responds with status of Invocation
@@ -415,6 +430,15 @@ message InvocationResponse {
415
430
StatusResult result = 3 ;
416
431
}
417
432
433
+ message WorkerWarmupRequest {
434
+ // Full path of worker.config.json location
435
+ string worker_directory = 1 ;
436
+ }
437
+
438
+ message WorkerWarmupResponse {
439
+ StatusResult result = 1 ;
440
+ }
441
+
418
442
// Used to encapsulate data which could be a variety of types
419
443
message TypedData {
420
444
oneof data {
@@ -429,6 +453,8 @@ message TypedData {
429
453
CollectionString collection_string = 9 ;
430
454
CollectionDouble collection_double = 10 ;
431
455
CollectionSInt64 collection_sint64 = 11 ;
456
+ ModelBindingData model_binding_data = 12 ;
457
+ CollectionModelBindingData collection_model_binding_data = 13 ;
432
458
}
433
459
}
434
460
@@ -496,20 +522,20 @@ message ParameterBinding {
496
522
497
523
// Used to describe a given binding on load
498
524
message BindingInfo {
499
- // Indicates whether it is an input or output binding (or a fancy inout binding)
500
- enum Direction {
501
- in = 0 ;
502
- out = 1 ;
503
- inout = 2 ;
504
- }
505
-
506
- // Indicates the type of the data for the binding
507
- enum DataType {
508
- undefined = 0 ;
509
- string = 1 ;
510
- binary = 2 ;
511
- stream = 3 ;
512
- }
525
+ // Indicates whether it is an input or output binding (or a fancy inout binding)
526
+ enum Direction {
527
+ in = 0 ;
528
+ out = 1 ;
529
+ inout = 2 ;
530
+ }
531
+
532
+ // Indicates the type of the data for the binding
533
+ enum DataType {
534
+ undefined = 0 ;
535
+ string = 1 ;
536
+ binary = 2 ;
537
+ stream = 3 ;
538
+ }
513
539
514
540
// Type of binding (e.g. HttpTrigger)
515
541
string type = 2 ;
@@ -518,6 +544,9 @@ message BindingInfo {
518
544
Direction direction = 3 ;
519
545
520
546
DataType data_type = 4 ;
547
+
548
+ // Properties for binding metadata
549
+ map <string , string > properties = 5 ;
521
550
}
522
551
523
552
// Used to send logs back to the Host
@@ -582,13 +611,13 @@ message RpcException {
582
611
// Textual message describing the exception
583
612
string message = 2 ;
584
613
585
- // Worker specifies whether exception is a user exception,
586
- // for purpose of application insights logging. Defaults to false.
614
+ // Worker specifies whether exception is a user exception,
615
+ // for purpose of application insights logging. Defaults to false.
587
616
bool is_user_exception = 4 ;
588
617
589
618
// Type of exception. If it's a user exception, the type is passed along to app insights.
590
619
// Otherwise, it's ignored for now.
591
- string type = 5 ;
620
+ string type = 5 ;
592
621
}
593
622
594
623
// Http cookie type. Note that only name and value are used for Http requests
@@ -647,3 +676,25 @@ message RpcHttp {
647
676
map <string ,NullableString > nullable_params = 21 ;
648
677
map <string ,NullableString > nullable_query = 22 ;
649
678
}
679
+
680
+ // Message representing Microsoft.Azure.WebJobs.ParameterBindingData
681
+ // Used for hydrating SDK-type bindings in out-of-proc workers
682
+ message ModelBindingData
683
+ {
684
+ // The version of the binding data content
685
+ string version = 1 ;
686
+
687
+ // The extension source of the binding data
688
+ string source = 2 ;
689
+
690
+ // The content type of the binding data content
691
+ string content_type = 3 ;
692
+
693
+ // The binding data content
694
+ bytes content = 4 ;
695
+ }
696
+
697
+ // Used to encapsulate collection model_binding_data
698
+ message CollectionModelBindingData {
699
+ repeated ModelBindingData model_binding_data = 1 ;
700
+ }
0 commit comments