0

我在这里提出了一个问题https://github.com/Azure/azure-functions-dotnet-worker/issues/722但看起来没有引起任何人的注意,所以我在这里尝试。

我们将函数从 core3.1 迁移到 5.0,最终在 Docker 上运行测试(在本地或 CI/CD 管道上运行)时出现问题,而函数托管在 Azure Function App (Linux) 上用于生产,一切都很好。

函数声明:

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

授权级别设置为功能,在它之上我们有一个 APIM 负责。

问题是当我们在 docker 上运行测试时,所有调用都会导致 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。

还有其他方法可以实现吗?

干杯

4

0 回答 0