c# - 如何从 Azure 函数中获取多个 blob?

标签 c# azure blob azure-blob-storage azure-blob-trigger

我正在编写一个由 Blob 上传触发的 C# 函数。我想读取容器中的另一个文件。输入绑定(bind)如何带来第二个 blob?

public static async Task Run([BlobTrigger("csv/{name}.csv", Connection = "StorageConnectionAppSetting")]Stream myBlob, string name, ILogger log)

除了这个问题之外,我如何在代码中引用 local.settings.json 中的值?我可以在输入绑定(bind)上引用“StorageConnectionAppSetting”,但我不确定如何对使用 APIKEY 创建客户端的代码部分执行相同操作。

谢谢!

最佳答案

  1. blob 触发器可以是单个 blob,但您可以向函数添加输入绑定(bind)。在这种情况下,您可以通过添加对存储 SDK 的引用来将输入绑定(bind)添加到 CloudBlobContainer,然后读取该容器中的任何 Blob。 https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-input?tabs=csharp#usage .

另一个选择是不使用输入绑定(bind)并像通常使用存储 SDK 那样读取容器及其内容。在这两种情况下,您都需要添加对 Microsoft.Azure.Storage.Blob 的引用。

  • 对于应用设置,您可以使用 System.Environment.GetEnvironmentVariable("APIKEY");,假设 APIKEY 是您的客户设置。请记住,local.settings.json 仅是本地的,您需要通过 Azure 门户或通过 ARM 模板的 CI/CD 管道在 Azure 中设置这些值。
  • 您还可以使用 Azure 函数依赖项注入(inject)和注入(inject)配置。检查使用选项和设置部分,地址:https://learn.microsoft.com/en-us/azure/azure-functions/functions-dotnet-dependency-injection#working-with-options-and-settings

    关于c# - 如何从 Azure 函数中获取多个 blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69511107/

    相关文章:

    c# - IFormFile IEnumerable 的大小为 1,即使指定了多个文件上传

    c# - CORBA 的 ASP.Net WebAPI 替代品?

    c# - Htmlagilitypack 显示节点 #text 而不是 span

    c# - 使用Graph API获取用户信息

    javascript - 使用 XMLHttpRequest 和授权摘要部分上传文件

    c# - 我怎样才能得到删除文件的用户?

    python - 如何从 Azure Key Vault 中的证书获取私钥?

    json - Azure Functions 路由与未知 URL 绑定(bind)

    javascript - 快速 blob 下载