Функция .NET 5.0 v3 - невозможно переопределить уровень авторизации при запуске тестов в Docker

Я поднял проблему здесь https://github.com/Azure/azure-functions-dotnet-worker/issues/722, но похоже, что это не привлекло никого внимания, поэтому я пытаюсь здесь.

Мы перенесли наши функции с core3.1 на 5.0, и у нас возникла проблема с запуском тестов в Docker (запуск их локально или конвейер CI / CD), в то время как функции размещены в приложении функций Azure (Linux) для производства, и все в порядке.

Объявление функции:

[Function("workingAt")] public async Task<HttpResponseData> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequestData req, FunctionContext executionContext)

Уровень авторизации установлен на Function, и над ним у нас есть APIM, который заботится.

Проблема в том, что когда мы запускаем наши тесты на докере, все вызовы приводят к 401, и трюк, который работал для версии core3.1, больше не действует.

Ранее мы использовали это, чтобы переопределить настройки в function.json файл в Dockerfile:

RUN find . -type f -name "function.json" -exec sed -i 's/"authLevel": "function"/"authLevel": "anonymous"/g' {} +

Уже пробовал с этим functions.metadata файл и здесь не повезло.

Мы могли бы использовать директивы препроцессора вместо аргумента уровня авторизации, но это создает (маловероятно) ненужный риск того, что кто-то по ошибке развернет функцию в Azure с анонимным уровнем авторизации.

Есть ли другой способ добиться этого?

Ваше здоровье

0 ответов

Другие вопросы по тегам