如何使用PowerShell向Azure Durable Function编排器传递多参数
解决PowerShell版Azure Durable Functions参数传递问题
问题根源
PowerShell编写的Durable编排器函数中,param($Context)里的$Context是编排器上下文对象,包含实例ID、执行元数据等核心信息,并非你传入的参数本身。通过Start-DurableOrchestration传递的-InputObject数据,会被存储在$Context.Input属性中。
修正后的代码
启动器代码(无需修改)
$Parameters = @{ Value1 = "X"; Value2 = "Y" } $InstanceId = Start-DurableOrchestration -FunctionName "TestFunction" -InputObject $Parameters
编排器代码(修改后)
param($Context) # 从上下文的Input属性中提取传入的参数 $inputData = $Context.Input $Value1 = $inputData.Value1 $Value2 = $inputData.Value2 # 示例:调用活动函数并传递参数 $activityResult = Start-DurableActivity -FunctionName "YourActivityFunc" -Input @{ V1 = $Value1; V2 = $Value2 }
关键说明
- 直接访问
$Context.Value1会触发未定义属性错误,导致编排器崩溃,因为$Context对象本身不包含该属性; - 所有通过
-InputObject传递的数据,都需从$Context.Input中读取,支持任意可序列化的PowerShell对象(如哈希表、自定义对象等)。
内容的提问来源于stack exchange,提问作者Chris Fellows
相关产品推荐
相关产品推荐

