Cadeia de conexão diferente para saída ou gatilho
Aqui eu tenho uma função webjob usando servicebus gatilhos e saídas. Eu gostaria de definir uma configuração diferente para saída e entrada.
public static void OnPush(
[ServiceBusTrigger("%PushProcessor.InputTopicName%", "%PushProcessor.InputTopicSubscriptionName%", AccessRights.Listen)]
BrokeredMessage message,
[ServiceBus("%PushProcessor.OutputTopicName%", AccessRights.Send)]
out BrokeredMessage output
)
Vejo na API mais recente que se pode controlar o host do trabalho com extensões de barramento de serviço.
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"),
});
Infelizmente não vejo controle para a cadeia de conexão da saída. Eu gostaria que uma string de conexão diferente (namespace / direitos de acesso diferentes) fosse usada para entradas versus saídas.
Talvez a API possa suportar o registro de configurações de jobhost nomeadas em um host de trabalho e se referir a esse nome nos atributos do acionador / saída. De qualquer forma, se houver uma maneira de fazer isso, me avise.