从Nuget包使用QueueTrigger将数据发送到Azure函数



我一直在使用QueueTrigger测试我的Azure函数。我通过使用以下代码在队列中添加一些内容来测试我的队列。

CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=storage.....etc");
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference("mysecondqueue");
queue.CreateIfNotExists();
queue.AddMessage(new CloudQueueMessage($"Test {DateTime.Now}"));

这很好,但是我需要做的是将这些代码放在一个Nuget包中。让我困扰的是,我必须将StorageAccount的ConnectionString硬编码在Nuget包中。第三方应用程序将使用此软件包。

我可以将Azure函数与HttpTrigger一起使用,但这有点违背了使用队列的目的。

在不暴露我的存储帐户的ConnectionString的情况下,使用QueueTrigger将Nuget包中的内容放入队列的最佳方法是什么?

或者在这种情况下,我唯一的选择是使用HttpTrigger

您可以检查以下两种方法,

  1. 如果您使用队列进行负载均衡,并且不想公开您的存储连接字符串,那么您可以添加另一个azure函数,该函数只会通过http触发器将Nuget连接到队列并包装存储连接字符串Nuget->函数(http触发器(->队列>函数(队列触发器(->

  1. 您可以使用Azure密钥库并将存储连接字符串存储在密钥库中,并通过服务原则或任何标准方法从nuget访问连接字符串

最新更新