Я только что создал свой первый проект с помощью Azure Functions Core, но не могу установить выходную привязку к хранилищу BLOB-объектов для своей функции. Это .NET 8 в изолированном процессе.
Вот код — это вариация урока, найденного здесь:
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 GetTest
{
private readonly ILogger _logger;
public GetTest(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<GetTest>();
}
[Function("GetTest")]
[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
Стоит отметить, что мне больше не нужно использовать Microsoft.Azure.Functions.Worker.Extensions вверху, VSCode может правильно определять пространство имен и без него.