gpt4 book ai didi

c# - 如何将Azure函数输入参数绑定(bind)到存储帐户?

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

我正在尝试创建一个 Azure Function(.NET 核心)来从存储帐户检索 SaS,但我很难理解为什么我无法访问存储。

函数签名:

public static async Task<IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
[StorageAccount("StorageConnectionString")] StorageAccount storage,
ILogger log)

运行时出现以下错误:

Error indexing method 'GetBlobSaS' Microsoft.Azure.WebJobs.Host: Cannot bind parameter 'storage' to type StorageAccount. Make sure the parameter Type is supported by the binding. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).

如果我直接创建存储帐户引用,它可以正常工作:

var storage = StorageAccount.NewFromConnectionString(System.Environment.GetEnvironmentVariable("StorageConnectionString"));

我误解或做错了什么?

最佳答案

您收到的错误是函数运行时不理解方法签名的错误。[StorageAccount] 属性需要 CloudStorageAccount。

因此将签名更改为:

[FunctionName("Function1")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
[StorageAccount("StorageConnectionString")] CloudStorageAccount storage,
ILogger log)
{

关于c# - 如何将Azure函数输入参数绑定(bind)到存储帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54480991/

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