Uso del valor devuelto de una función de Azure

En este artículo se explica cómo funcionan los valores devueltos dentro de una función. En los lenguajes que tienen un valor devuelto, puede enlazar el enlace de salida de una función al valor devuelto.

Establezca la propiedad name de function.json en $return. Si hay varios enlaces de salida, use el valor devuelto para solo uno de ellos.

La forma en que se usan los valores devueltos depende del modo de C# que use en la aplicación de funciones:

Consulte Enlaces de salida en la guía de trabajo de .NET para obtener más información y ejemplos.

Este es el enlace de salida del archivo function.json:

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

Este es el código de JavaScript:

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

Este es el enlace de salida del archivo function.json:

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

Este es el código de PowerShell que usa el valor devuelto de un enlace de salida HTTP:

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

Este es el enlace de salida del archivo function.json:

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

Este es el código de Python:

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

Aplique la anotación de enlace de salida al método de función. Si hay varios enlaces de salida, use el valor devuelto para solo uno de ellos.

Este es el código de Java que usa el valor devuelto para un enlace de salida:

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

Pasos siguientes