gpt4 book ai didi

c# - 在 Azure Functions 中,如何在输出绑定(bind)中使用路由参数

转载 作者:行者123 更新时间:2023-12-02 05:52:42 25 4
gpt4 key购买 nike

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

[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();

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

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

最佳答案

是的,当然。

看看这个结构:

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);
}
}
}

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

这是官方文档:

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

关于c# - 在 Azure Functions 中,如何在输出绑定(bind)中使用路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61375173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com