Azure Function の戻り値の使用
この記事では、戻り値が関数内でどのように機能するかについて説明します。 戻り値がある言語では、その戻り値に関数の出力バインディングをバインドできます。
function.json 内の name
プロパティを $return
に設定します。 複数の出力バインディングが存在する場合は、そのうちの 1 つにのみ戻り値を使用します。
戻り値の使用方法は、関数アプリで使用している 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}"
}
http 出力バインディングに戻り値を使用する PowerShell コードを次に示します。
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')
})
出力バインドの注釈を関数メソッドに適用します。 複数の出力バインディングが存在する場合は、そのうちの 1 つにのみ戻り値を使用します。
出力バインディングに戻り値を使用する 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;
}