首页 > 解决方案 > Azure Spring Boot 功能 - 如何将多个 OutputBinding 发送到 handleOutput 方法?

问题描述

  @FunctionName("scheduleRunning")
    @StorageAccount("AzureWebJobsStorage")
    public void execute(
            // function triggers and executes every three minutes.
            @TimerTrigger(name = "keepAliveTrigger", schedule = "0 */3 * * * *") String timerInfo,
            @QueueOutput(name = "jobSucceeded", queueName = "job-succeeded") OutputBinding<String> jobSucceeded,
            @QueueOutput(name = "jobFailed", queueName = "job-failed") OutputBinding<String> jobFailed,ExecutionContext context) {
            
            String input="test";
            //handleOutput(input, jobSucceeded, context);
            }

如何将 jobSucceeded 和 jobFailed 都传递给 handleOutput 方法?

标签: javaspring-bootazureazure-functions

解决方案


你需要调用方法setValue()

@FunctionName("scheduleRunning")
    @StorageAccount("AzureWebJobsStorage")
    public void execute(
            // function triggers and executes every three minutes.
            @TimerTrigger(name = "keepAliveTrigger", schedule = "0 */3 * * * *") String timerInfo,
            @QueueOutput(name = "jobSucceeded", queueName = "job-succeeded") OutputBinding<String> jobSucceeded,
            @QueueOutput(name = "jobFailed", queueName = "job-failed") OutputBinding<String> jobFailed,ExecutionContext context) {
            
            String input="test";
            jobSucceeded.setValue(input);
            jobFailed.setValue("Other message")
  }

您可以找到其他示例

或者您也可以创建新的 pojo 来帮助您找到 jobSucceededjobFailed对象,然后在您的函数中,您可以保留您的逻辑并调用setValue方法


推荐阅读