De retourwaarde van de Azure-functie gebruiken

In dit artikel wordt uitgelegd hoe retourwaarden binnen een functie werken. In talen met een retourwaarde kunt u een functie-uitvoerbinding binden aan de retourwaarde.

stel de eigenschap name in function. json in op $return. Als er meerdere uitvoerbindingen zijn, gebruikt u de retourwaarde voor slechts één van deze bindingen.

Hoe retourwaarden worden gebruikt, is afhankelijk van de C#-modus die u gebruikt in uw functie-app:

Zie uitvoerbindingen in de .NET-werkrolhandleiding voor meer informatie en voorbeelden.

Dit is de uitvoerbinding in het function.json-bestand :

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

Dit is de JavaScript-code:

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

Dit is de uitvoerbinding in het function.json-bestand :

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

Hier volgt de PowerShell-code die gebruikmaakt van de retourwaarde voor een HTTP-uitvoerbinding:

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

Dit is de uitvoerbinding in het function.json-bestand :

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

Dit is de Python-code:

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

Pas de aantekening van de uitvoerbinding toe op de functiemethode. Als er meerdere uitvoerbindingen zijn, gebruikt u de retourwaarde voor slechts één van deze bindingen.

Hier volgt Java-code die gebruikmaakt van de retourwaarde voor een uitvoerbinding:

@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;
}

Volgende stappen