我刚刚使用 Azure Functions Core 创建了我的第一个项目,但无法在我的函数上设置到 Blob 存储的输出绑定。这是隔离进程中的 .NET 8。
这是代码 - 这是在here找到的教程的变体:
using System.Net;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Extensions;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;
namespace client
{
public class GetManifestActive
{
private readonly ILogger _logger;
public GetManifestActive(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<GetManifestActive>();
}
[Function("GetManifestActive")]
[BlobOutput("test-samples-output/{rand-guid}.txt")] //NAMESPACE NOT FOUND ERROR
public string Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");
return "blob written successfully!";
}
}
}
在 VSCode 中,“BlobOutput”属性上出现错误,表示其类型或命名空间不存在。但是,Microsoft.Azure.Functions.Worker 和 Microsoft.Azure.Functions.Worker.Extensions 均已声明。我错过了什么?
为了修复此错误,我从 VSCode 终端运行了以下命令:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Storage
值得注意的是,我不再需要顶部的“using Microsoft.Azure.Functions.Worker.Extensions”,VSCode 无需它即可正确检测命名空间。