提问人:Faouzeya 提问时间:11/3/2023 更新时间:11/3/2023 访问量:80
运行 azure 函数时 HttpRequest 为 null
HttpRequest is null when I run an azure function
问:
我想在 c# 中使用 AzureFunctions 将文件上传到 azure blob 存储。
所以这是我的 azure 函数:
public static class AppartementFunc
{
[Function("AppartementFunc")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, ILogger log)
{
string Connection = Environment.GetEnvironmentVariable("AzureWebJobsStorage");
string containerName = Environment.GetEnvironmentVariable("ContainerName");
Stream myBlob = new MemoryStream();
var file = req.Form.Files["File"];
myBlob = file.OpenReadStream();
var blobClient = new BlobContainerClient(Connection, containerName);
var blob = blobClient.GetBlobClient(file.FileName);
await blob.UploadAsync(myBlob);
return new OkObjectResult("file uploaded successfylly");
}
}
我试图像这样从邮递员那里测试这个功能:
但是这一行会触发一个错误:var file = req.Form.Files["File"]
`System.NullReferenceException: 'Object reference not set to an instance of an object.'
req was null.`
我不知道为什么HttpRequest请求是NULL ! 谁能帮我解决这个问题?
答:
0赞
Moho
11/3/2023
#1
我的猜测是,您使用的是 Azure Functions“进程内”托管模型的代码,而应用程序实际上是通过“独立工作线程”模型托管的。
对于 Azure Functions 独立辅助角色托管模型,参数应为 类型,HTTP 响应返回类型应为HttpTrigger
HttpRequestsData
Task<HttpResponseData>
在独立工作进程中运行 C# Azure Functions 的指南
评论
0赞
Faouzeya
11/6/2023
有 谢谢,现在我明白了
评论
HttpRequest