Здесь у меня есть функция 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"),
});
К сожалению, я не вижу управления строкой соединения для вывода. Мне нужна другая строка соединения (разные пространства имен/права доступа), которые будут использоваться для входов и выходов.
Возможно, api может поддерживать регистрацию заданных конфигураций jobhostconfigurations на jobhost и ссылаться на это имя в атрибутах триггера/вывода. В любом случае, если есть способ сделать это, дайте мне знать.
гм еще имея troubles.public статической силы OnPush ( [ServiceBusTrigger ("% PushProcessor.InputTopicName%", "% PushProcessor.InputTopicSubscriptionName%", AccessRights.Listen)] BrokeredMessage тзд, [ServiceBus ("% PushProcessor. OutputTopicName% ", AccessRights.Send)] [ServiceBusAccount (« PushProcessor.OutputServiceBusConnectionString »)] out Выход BrokeredMessage ) Должен ли я использовать его с помощью специального почтового сервера? У меня есть запись для строки подключения в servicebusaccount в appsettings. получение: FunctionIndexingException – TravisK
Убедитесь, что строка подключения в ваших настройках имеет префикс обычного префикса AzureWebJobs. Например, если вы используете [ServiceBusAccount («SBOutput»)], имя вашей строки подключения в настройках должно быть «AzureWebJobsSBOutput». – mathewc
Прохладный, что работа. Должен сказать, не совсем ясно из исключения, что я должен был сделать это. Ничто в исключении не упоминает, какую строку подключения он просматривал. Вот внутреннее исключение: В конфигурации отсутствует требуемая информация. Убедитесь, что свойство «Конечная точка» определено как часть ключа «Microsoft.ServiceBus.ConnectionString» в разделе «appSettings» или в настройках конфигурации Windows Azure. »} – TravisK