Мой файл program.cs выглядит следующим образом: Пакет DependencyInjection не используется
Код: Выделить всё
using Microsoft.Azure.Functions.Worker.Builder;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
var builder = FunctionsApplication.CreateBuilder(args);
// Agregar configuración de variables de entorno
builder.Configuration
.AddEnvironmentVariables() // Agrega variables de entorno
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true); // Para entornos locales
// Configurar servicios adicionales (si es necesario)
// builder.Services.AddTransient();
builder.ConfigureFunctionsWebApplication();
// Application Insights isn't enabled by default. See https://aka.ms/AAt8mw4.
// builder.Services
// .AddApplicationInsightsTelemetryWorkerService()
// .ConfigureFunctionsApplicationInsights();
builder.Build().Run();
Код: Выделить всё
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=false",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
"TableStorageConnection": "azure-storage-connectionString",
"HelloWho": "Jon Doe Who"
},
"Host": {
"CORS": "*"
}
}
Код: Выделить всё
2024-11-26T02:15:50.309 [Information] Executing 'Functions.GetCities' (Reason='This function was programmatically called via the host APIs.', Id=67fcf38f-daa0-4433-9c54-f75331cd4dbc)
2024-11-26T02:15:50.657 [Information] Retrieving cities with registred open mics
2024-11-26T02:15:50.734 [Error] Function 'GetCities', Invocation id '67fcf38f-daa0-4433-9c54-f75331cd4dbc': An exception was thrown by the invocation.
Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException : Result: Function 'GetCities', Invocation id '67fcf38f-daa0-4433-9c54-f75331cd4dbc': An exception was thrown by the invocation.
Exception: System.ArgumentException: Value cannot be an empty string. (Parameter 'connectionString')
Код: Выделить всё
public class GetWho
{
private readonly ILogger _logger;
private readonly IConfiguration _configuration;
public GetWho(ILogger logger, IConfiguration configuration)
{
_logger = logger;
_configuration = configuration;
}
[Function("GetWho")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");
return new OkObjectResult($"Welcome to Azure Functions! {_configuration["HelloWho"]}");
}
}
После развертывания функции. Похоже, что оно было успешно развернуто, и я вижу функции, перечисленные в службах приложений в Azure, но как только я хочу их протестировать, я получаю ошибки, но нет журналов или явных сообщений об ошибках. То же самое происходит, когда я нажимаю «Получить URL-адрес функции».

Любопытно, что вызовы не записаны.
< img alt="На странице вызовов функции показано отсутствие вызовов." src="https://i.sstatic.net/jkqg10Fd.png" />
Другой способ создания program.cs, который я пробовал, заключался в следующем. тот же результат. Пакет DependencyInjection не используется
при использовании Microsoft.Extensions.Hosting;
при использовании Microsoft.Extensions.Configuration;
при использовании Microsoft.Azure.Functions.Extensions.DependencyInjection;
Код: Выделить всё
namespace el_open_api
{
public class Program
{
public static void Main(string[] args)
{
var host = new HostBuilder()
.ConfigureAppConfiguration((context, config) =>
{
config.Sources.Clear();
config.AddEnvironmentVariables();
})
.ConfigureFunctionsWebApplication()
.ConfigureFunctionsWorkerDefaults()
.Build();
host.Run();
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... re-storage