Share via


Usando o valor de retorno da Função do Azure

Este artigo explica como os valores de retorno funcionam dentro de uma função. Em idiomas que têm um valor de retorno, você pode vincular uma ligação de saída de função ao valor de retorno.

Defina a name propriedade em function.json como $return. Se houver várias ligações de saída, use o valor de retorno para apenas uma delas.

Como os valores de retorno são usados depende do modo C# que você está usando em seu aplicativo de função:

Consulte Ligações de saída no guia do trabalhador do .NET para obter detalhes e exemplos.

Aqui está a ligação de saída no arquivo function.json :

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

Aqui está o código JavaScript:

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

Aqui está a ligação de saída no arquivo function.json :

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

Aqui está o código do PowerShell que usa o valor de retorno para uma ligação de saída http:

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

Aqui está a ligação de saída no arquivo function.json :

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

Aqui está o código Python:

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

Aplique a anotação de vinculação de saída ao método de função. Se houver várias ligações de saída, use o valor de retorno para apenas uma delas.

Aqui está o código Java que usa o valor de retorno para uma ligação de saída:

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

Próximos passos