0

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

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

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

谢谢!

4

1 回答 1

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

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

  1. 对于您可以使用的应用程序设置System.Environment.GetEnvironmentVariable("APIKEY");,假设APIKEY是您的客户设置。请记住,local.settings.json 只是本地的,您需要通过 Azure 门户或您的 CI/CD 管道和 ARM 模板在 Azure 中设置这些值。

你还可以使用 Azure 函数依赖注入和注入配置。检查https://docs.microsoft.com/en-us/azure/azure-functions/functions-dotnet-dependency-injection#working-with-options-and-settingsWorking with options and settings上的部分

于 2021-10-10T12:04:59.757 回答