Использование возвращаемого значения Функции Azure
В этой статье объясняется, как работают возвращаемые значения внутри функции. На языках с возвращаемым значением можно привязать выходную привязку функции к возвращаемом значению.
задайте для свойства name
в файле function.json значение $return
. При наличии нескольких выходных привязок используйте возвращаемое значение только для одной из них.
Использование возвращаемых значений зависит от режима C#, который вы используете в приложении-функции:
Дополнительные сведения и примеры см . в руководстве по выходным привязкам в рабочей роли .NET.
Выходная привязка в файле function.json:
{
"name": "$return",
"type": "blob",
"direction": "out",
"path": "output-container/{id}"
}
Ниже показан код JavaScript.
module.exports = function (context, input) {
var json = JSON.stringify(input);
context.log('Node.js script processed queue message', json);
return json;
}
Выходная привязка в файле function.json:
{
"name": "Response",
"type": "blob",
"direction": "out",
"path": "output-container/{blobname}"
}
Следующий код PowerShell использует возвращаемое значение в качестве выходной привязки http:
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $blobname
})
Выходная привязка в файле function.json:
{
"name": "$return",
"type": "blob",
"direction": "out",
"path": "output-container/{id}"
}
Ниже приведен код Python.
def main(input: azure.functions.InputStream) -> str:
return json.dumps({
'name': input.name,
'length': input.length,
'content': input.read().decode('utf-8')
})
Примените к методу функции заметку выходной привязки. При наличии нескольких выходных привязок используйте возвращаемое значение только для одной из них.
Следующий код Java использует возвращаемое значение в качестве выходной привязки.
@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;
}