У меня есть функция HTTP, которая возвращает код состояния, но я также хочу связать вывод с большим двоичным объектом. Но когда запрос недействителен, я вообще не хочу создавать выходной BLOB-объект. Я пробовал что-то вроде:
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "{userName}/messages")] HttpRequest req,
string userName,
[Blob("users/{userName}/{DateTime}.json", FileAccess.Write)] Stream outputStream)
{
if (IsValid(req.Body))
{
await req.Body.CopyToAsync(outputStream);
return new AcceptedResult();
}
else
{
return new BadRequestResult();
}
}
Но, к сожалению, выходной BLOB-объект создается всегда, даже когда возвращается BadRequest
. (Созданный файл пуст, но я не хочу, чтобы он вообще создавался.)
Я также пытался установить outputStream = null
непосредственно перед возвращением BadRequest
, но это не помогло.
Есть ли способ conditioanl создать файл BLOB-объекта?