输出或触发器的不同连接字符串
Different connection string for output or trigger
这里我有一个使用服务总线触发器和输出的 webjob 函数。我想为输出和输入设置不同的配置。
public static void OnPush(
[ServiceBusTrigger("%PushProcessor.InputTopicName%", "%PushProcessor.InputTopicSubscriptionName%", AccessRights.Listen)]
BrokeredMessage message,
[ServiceBus("%PushProcessor.OutputTopicName%", AccessRights.Send)]
out BrokeredMessage output
)
我最近看到 api 可以使用服务总线扩展来控制作业主机。
JobHostConfiguration config = new JobHostConfiguration
{
StorageConnectionString = ConfigHelpers.GetConfigValue("AzureWebJobsStorage"),
DashboardConnectionString = ConfigHelpers.GetConfigValue("AzureWebJobsDashboard"),
NameResolver = new ByAppSettingsNameResolver()
};
config.UseServiceBus(new ServiceBusConfiguration
{
MessageOptions = new OnMessageOptions {
MaxConcurrentCalls = 2,
AutoRenewTimeout = TimeSpan.FromMinutes(1),
AutoComplete = true,
},
ConnectionString = ConfigHelpers.GetConfigValue("InputServiceBusConnectionString"),
});
不幸的是,我没有看到对输出连接字符串的控制。我想要一个不同的连接字符串(不同的 namespace/access 权限)用于输入和输出。
也许 api 可以支持将命名的作业主机配置注册到作业主机,并在 trigger/output 的属性中引用该名称。无论如何,如果有办法做到这一点,请告诉我。
是的,在最新的 beta1 版本中,您还会看到现在有一个 ServiceBusAccountAttribute,您可以将其与 ServiceBusTrigger/ServiceBus 属性一起应用。例如:
public static void Test(
[ServiceBusTriggerAttribute("test"),
ServiceBusAccount("testaccount")] BrokeredMessage message)
{
. . .
}
我们通过 StorageAccountAttribute 对所有其他属性类型 (Queue/Blob/Table) 执行了相同的操作。这些帐户属性可以在 class/method/parameter 级别应用。请试试这个新功能,让我们知道它如何为您服务。另外,请参阅 release notes 了解更多详情。
这里我有一个使用服务总线触发器和输出的 webjob 函数。我想为输出和输入设置不同的配置。
public static void OnPush(
[ServiceBusTrigger("%PushProcessor.InputTopicName%", "%PushProcessor.InputTopicSubscriptionName%", AccessRights.Listen)]
BrokeredMessage message,
[ServiceBus("%PushProcessor.OutputTopicName%", AccessRights.Send)]
out BrokeredMessage output
)
我最近看到 api 可以使用服务总线扩展来控制作业主机。
JobHostConfiguration config = new JobHostConfiguration
{
StorageConnectionString = ConfigHelpers.GetConfigValue("AzureWebJobsStorage"),
DashboardConnectionString = ConfigHelpers.GetConfigValue("AzureWebJobsDashboard"),
NameResolver = new ByAppSettingsNameResolver()
};
config.UseServiceBus(new ServiceBusConfiguration
{
MessageOptions = new OnMessageOptions {
MaxConcurrentCalls = 2,
AutoRenewTimeout = TimeSpan.FromMinutes(1),
AutoComplete = true,
},
ConnectionString = ConfigHelpers.GetConfigValue("InputServiceBusConnectionString"),
});
不幸的是,我没有看到对输出连接字符串的控制。我想要一个不同的连接字符串(不同的 namespace/access 权限)用于输入和输出。
也许 api 可以支持将命名的作业主机配置注册到作业主机,并在 trigger/output 的属性中引用该名称。无论如何,如果有办法做到这一点,请告诉我。
是的,在最新的 beta1 版本中,您还会看到现在有一个 ServiceBusAccountAttribute,您可以将其与 ServiceBusTrigger/ServiceBus 属性一起应用。例如:
public static void Test(
[ServiceBusTriggerAttribute("test"),
ServiceBusAccount("testaccount")] BrokeredMessage message)
{
. . .
}
我们通过 StorageAccountAttribute 对所有其他属性类型 (Queue/Blob/Table) 执行了相同的操作。这些帐户属性可以在 class/method/parameter 级别应用。请试试这个新功能,让我们知道它如何为您服务。另外,请参阅 release notes 了解更多详情。