【发布时间】:2019-12-13 08:47:38
【问题描述】:
我有一个带有 QueueTrigger 的 Azure WebJobs:
public void ProcessTestQueueByTrigger(
[QueueTrigger("test-queue", Connection = "MyCustomStorageConnection")] string queueMessage,
int dequeueCount,
TextWriter log)
{
var message = $"ProcessTestQueueByTrigger executed: {queueMessage}, dequeue: {dequeueCount}";
log.WriteLine(message);
}
}
MyCustomStorageConnection 与默认作业连接不同(这就是我在 QueueTrigger 属性中定义它的原因)。我还有两个本地文件,它们定义了 dev 和 prod 环境的设置:appsettings.json 和 appsettings.Production.json。
当我启动 WebJobs 时,我正在读取 config 对象的有效配置和设置
var configuration = new JobHostConfiguration
{
DashboardConnectionString = config.GetConnectionString("AzureWebJobsDashboard"),
StorageConnectionString = config.GetConnectionString("AzureWebJobsStorage"),
};
和有效的连接存储在config.GetConnectionString("MyCustomStorageConnection"),但没有地方设置它与主机。并且无论何时启动主机,QueueTrigger 都会从appsettings.json 读取值并完全忽略appsettings.Production.json。
如何强制 QueueTrigger 使用正确的配置或仅定义 QueueTrigger 连接字符串的值?
【问题讨论】:
-
你好,我想看看你是否解决了这个问题。
标签: azure azure-webjobs azure-storage-queues queuetrigger