Używanie wartości zwracanej funkcji platformy Azure
W tym artykule wyjaśniono, jak wartości zwracane działają wewnątrz funkcji. W językach, które mają wartość zwracaną, można powiązać powiązanie danych wyjściowych funkcji z wartością zwracaną.
name
Ustaw właściwość w function.json na $return
. Jeśli istnieje wiele powiązań wyjściowych, użyj wartości zwracanej tylko dla jednego z nich.
Sposób używania wartości zwracanych zależy od trybu języka C#, którego używasz w aplikacji funkcji:
Aby uzyskać szczegółowe informacje i przykłady, zobacz Powiązania wyjściowe w przewodniku procesu roboczego platformy .NET.
Oto powiązanie wyjściowe w pliku function.json :
{
"name": "$return",
"type": "blob",
"direction": "out",
"path": "output-container/{id}"
}
Oto kod JavaScript:
module.exports = function (context, input) {
var json = JSON.stringify(input);
context.log('Node.js script processed queue message', json);
return json;
}
Oto powiązanie wyjściowe w pliku function.json :
{
"name": "Response",
"type": "blob",
"direction": "out",
"path": "output-container/{blobname}"
}
Oto kod programu PowerShell, który używa wartości zwracanej dla powiązania wyjściowego http:
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $blobname
})
Oto powiązanie wyjściowe w pliku function.json :
{
"name": "$return",
"type": "blob",
"direction": "out",
"path": "output-container/{id}"
}
Oto kod języka Python:
def main(input: azure.functions.InputStream) -> str:
return json.dumps({
'name': input.name,
'length': input.length,
'content': input.read().decode('utf-8')
})
Zastosuj adnotację powiązania wyjściowego do metody funkcji. Jeśli istnieje wiele powiązań wyjściowych, użyj wartości zwracanej tylko dla jednego z nich.
Oto kod Java, który używa wartości zwracanej dla powiązania wyjściowego:
@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;
}