我们可以在 Azure functions v2 的 Entry function 运行 中使用 HttpRequestMessage 而不是 HttpRequest class 吗?

Can we use HttpRequestMessage instead of HttpRequest class in Entry function Run in Azure functions v2?

我正在 .net core 2.0 中创建 v2 azure 函数以托管在 Linux 平台中。 当我在 visual studio 中创建新的 azure 函数时,运行 函数的 req 参数是 HttpRequest。 我可以将此发送到 HttpRequestMessage 吗?我想轻松阅读授权 header。

Azure Functions 2.x 的 HttpTrigger 可识别 HttpRequestMessage,因此将其替换为 HttpRequest 应该没有任何问题。 (不过 class 公开了授权 header。)

在我安装的版本-Visual Studio15.9.6-用Microsoft.NET.Sdk.Functions1.0.14默认模板甚至建议 HttpRequestMessage.

通过这个简单的版本,我可以访问并记录授权 header:

    [FunctionName("Function1")]
    public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
    {
        log.Info("C# HTTP trigger function processed a request.");

        log.Info(req.Headers.Authorization.ToString());