Comments (6)
Ah, got it!
By generic type
, I meant a standard output type. You already answered that question.
For multiple output values for a single binding
, I mean the scenario where we need to write multiple values to the same output binding. For e.g. if our function were to write 10 messages to the same queue, we shouldn't need to declare it 10 times in the function.json
file. In C# we use a collector object for the same purpose and for python, we end up returning a tuple instead of a single value.
from azure-functions-powershell-worker.
I'm not certain about the implementation. @elprans can you please help out our PowerShell friends?
from azure-functions-powershell-worker.
Noticed the label. Is there a question here? :)
from azure-functions-powershell-worker.
I saw it more of like... this is your question that you're asking. :) I kinda wish we filled this out but I think we have an answer for most if not all of it.
Here's what I have:
Summary
In general, we embrace PowerShell concepts. We use a param
block for inputs and the ability to return things as outputs. For multi-output functions, we use a cmdlet called Push-OutputBinding
.
Binding to arguments
Input bindings
- Trigger input
param($res)
or
param($res, $TriggerMetadata)
The user has access to the binding data via the param block of their function.
All trigger metadata will come in as $TriggerMetadata
if they specify $TriggerMetadata
in the param block. If they don't, then they won't have access to Trigger metadata.
- Additional input
Additional binding data will come in the param block:
param($res1, $res2)
Output bindings
-
$return type
The user is able to use thereturn
powershell keyword or write directly to the pipeline. The last item in the pipeline will become the value that is stored in$return
output binding. -
Generic type
TBD -
Multiple output values for a single binding
TBD
Referencing external modules
TBD
Logging
The user should be able to use the same Write-*
cmdlets that they would do in a normal PowerShell script and those will get routed accordingly by log level.
Async
See #4
from azure-functions-powershell-worker.
@asavaritayal can you dig into what these are:
Generic type
TBDMultiple output values for a single binding
TBD
from azure-functions-powershell-worker.
we end up returning a tuple instead of a single value
So this is a bit confusing to me because tuples or arrays aren't valid grpc types (AFAIK). So does the worker look for this tuple and iterates over it and sends messages for each item with the valid grpc types (int, string, bytes, json, etc)?
from azure-functions-powershell-worker.
Related Issues (20)
- [Linux Consumption] [Portal] Portal shows Linux Consumption as an option for Powershell 7.4 it is not supported HOT 3
- [Linux Elastic Premium] Kudu SSH appears to fail for powershell7.4 HOT 3
- Linux (Consumption) not supported in PowerShell 7.4 yet HOT 1
- Feature Request: Recursive Directory Searching for function.json HOT 1
- Az-Accounts: Issue re-emerging.. HOT 4
- Support OpenTelemetry in the PowerShell worker
- Profile.ps1 not instrumented HOT 1
- Diagram of module interaction w/ worker HOT 1
- Update PowerShell SDK for 7.4 to 7.4.2
- Update PowerShell SDK for 7.2 to 7.2.19 HOT 1
- Document OpenTelemetry support HOT 1
- Workaround for issue with hosting Durable Functions app on preview Flex Consumption plan
- Convert pipelines to 1ES
- Fix OTel test concurrency issue
- Backport 1ES pipelines to all release branches HOT 1
- Add back E2E tests for 1ES official pipeline
- Fix failing public pipeline
- Migrate the pipeline changes to host v3 branch
- Add back E2E tests for 1ES public pipeline
- Disable auto module upgrades for 7.2 on EOL day
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from azure-functions-powershell-worker.