in src/PowerShell/PowerShellManager.cs [277:313]
private void SetInputBindingParameterValues(
AzFunctionInfo functionInfo,
IEnumerable<ParameterBinding> inputData,
string orchestratorParameter,
Hashtable triggerMetadata,
TraceContext traceContext,
RetryContext retryContext)
{
foreach (var binding in inputData)
{
if (functionInfo.FuncParameters.TryGetValue(binding.Name, out var paramInfo))
{
if (string.CompareOrdinal(binding.Name, orchestratorParameter) != 0)
{
var bindingInfo = functionInfo.InputBindings[binding.Name];
var valueToUse = Utils.TransformInBindingValueAsNeeded(paramInfo, bindingInfo, binding.Data.ToObject());
_pwsh.AddParameter(binding.Name, valueToUse);
}
}
}
// Gives access to additional Trigger Metadata if the user specifies TriggerMetadata
if (functionInfo.HasTriggerMetadataParam)
{
_pwsh.AddParameter(AzFunctionInfo.TriggerMetadata, triggerMetadata);
}
if (functionInfo.HasTraceContextParam)
{
_pwsh.AddParameter(AzFunctionInfo.TraceContext, traceContext);
}
if (functionInfo.HasRetryContextParam)
{
_pwsh.AddParameter(AzFunctionInfo.RetryContext, retryContext);
}
}