0

我一直在使用QueueTrigger. 我通过使用以下代码将某些内容放入队列来测试我的队列。

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 包中。困扰我的是我必须将ConnectionString我的 StorageAccount 硬编码在 Nuget 包中。这个包将被第 3 方应用程序使用。

我可以使用带有 的 Azure 函数HttpTrigger,但这违背了使用队列的目的。

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

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

4

1 回答 1

0

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

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

或者

  1. 您可以使用 Azure 密钥保管库并将存储连接字符串存储在密钥保管库中,并通过服务原理或任何标准方法从 nuget 访问连接字符串
于 2020-08-11T20:57:30.397 回答