在 Azure Functions 中,如何在输出绑定中使用路由参数

Cod*_*per 10 c# azure .net-core azure-functions

下面是一个http触发的函数。对于路线,我指定了一个变量user。现在,我希望在任何其他user输出绑定中使用该变量。现在工作代码显示为输出绑定。Blob

[FunctionName(nameof(Greeting))]
public static IActionResult Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = "{user}/greeting")] HttpRequest req,
string user,
[Blob("{user}", Connection = "MyStorageAccount")] CloudBlockBlob blob)
    => new OkResult();
Run Code Online (Sandbox Code Playgroud)

注意,我实际上对创建 blob 并不感兴趣。只是对有效的语法感兴趣。

编辑:只是意识到这非常有效。

1_1*_*1_1 14

是的,当然。

看看这个结构:

using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;

namespace FunctionApp32
{
    public static class Function1
    {
        [FunctionName("Function1")]
        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "GetName/{name}")] HttpRequest req,
            string name,
            [Blob("sample-images-sm/{name}", FileAccess.Write)] Stream imageSmall,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            //string name = req.Query["name"];

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data = JsonConvert.DeserializeObject(requestBody);
            name = name ?? data?.name;

            string responseMessage = string.IsNullOrEmpty(name)
                ? "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."
                : $"Hello, {name}. This HTTP triggered function executed successfully.";

            return new OkObjectResult(responseMessage);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果这样写,在本地,如果您发送类似 的消息http://localhost:7071/api/GetName/Bowman,则字符串名称将是 Bowman,函数将创建一个名为 example-images-sm 的容器,并在该容器下创建一个 Bowman 文件。

这是官方文档:

https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp