Verwenden des Rückgabewerts einer Azure-Funktion

In diesem Artikel wird erläutert, wie Rückgabewerte innerhalb einer Funktion funktionieren. In Sprachen mit einem Rückgabewert können Sie eine Ausgabebindung einer Funktion an den Rückgabewert binden.

Legen Sie die Eigenschaft name in function.json auf $return fest. Wenn mehrere Ausgabebindungen vorhanden sind, verwenden Sie den Rückgabewert für nur eine davon.

Wie Rückgabewerte verwendet werden, hängt vom C#-Modus ab, den Sie in Ihrer Funktions-App verwenden:

Ausführliche Informationen und Beispiele finden Sie unter Ausgabebindungen im .NET-Workerleitfaden.

Hier sehen Sie die Bindungsdaten in der Datei function.json:

{
    "name": "$return",
    "type": "blob",
    "direction": "out",
    "path": "output-container/{id}"
}

Der JavaScript-Code sieht wie folgt aus:

module.exports = function (context, input) {
    var json = JSON.stringify(input);
    context.log('Node.js script processed queue message', json);
    return json;
}

Hier sehen Sie die Bindungsdaten in der Datei function.json:

{
    "name": "Response",
    "type": "blob",
    "direction": "out",
    "path": "output-container/{blobname}"
}

Hier sehen Sie den PowerShell-Code, der den Rückgabewert für eine HTTP-Ausgabebindung verwendet:

Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
    StatusCode = [HttpStatusCode]::OK
    Body = $blobname
    })

Hier sehen Sie die Bindungsdaten in der Datei function.json:

{
    "name": "$return",
    "type": "blob",
    "direction": "out",
    "path": "output-container/{id}"
}

Dies ist der Python-Code:

def main(input: azure.functions.InputStream) -> str:
    return json.dumps({
        'name': input.name,
        'length': input.length,
        'content': input.read().decode('utf-8')
    })

Wenden Sie die Anmerkung der Ausgabebindung auf die Funktionsmethode an. Wenn mehrere Ausgabebindungen vorhanden sind, verwenden Sie den Rückgabewert für nur eine davon.

Hier sehen Sie Java-Code, der den Rückgabewert für eine Ausgabebindung verwendet:

@FunctionName("QueueTrigger")
@StorageAccount("AzureWebJobsStorage")
@BlobOutput(name = "output", path = "output-container/{id}")
public static String run(
  @QueueTrigger(name = "input", queueName = "inputqueue") WorkItem input,
  final ExecutionContext context
) {
  String json = String.format("{ \"id\": \"%s\" }", input.id);
  context.getLogger().info("Java processed queue message. Item=" + json);
  return json;
}

Nächste Schritte