Я очень новичок в механизмах Azure и застрял на этой проблеме.
У меня есть функция azure, которая должна запускаться событиями, опубликованными в центре событий. Я установил строку подключения sas, полученную на странице портала azure концентратора событий (с опцией "управление"), и использовал тот же ключ в аннотации EventHubTrigger (это функция Java 11).
Сначала я получил сообщение об ошибке, в котором говорилось, что IP-адрес функции был заблокирован для подключения, от ошибки я избавился, установив флажок "разрешить доверенную службу Microsoft" в сетевых настройках концентратора событий.
Затем я получил 401 несанкционированный доступ.
Сняв все ограничения IP-адресов с концентратора событий (сделав его общедоступным), он начинает прослушивать и обрабатывать события, переданные в концентратор событий.
Очевидно, я хотел бы вернуть эти ограничения, но исключение 401 не прекратится.
Что я упускаю?
Редактировать (Добавление кода функции):
public class Function {
@FunctionName("feed-collector")
public void run(
@EventHubTrigger(name = "collect", consumerGroup = "$Default", connection = "AzureEventHubConnectionString", eventHubName = "feed-ordini", cardinality = Cardinality.MANY)
String message,
final ExecutionContext context
) {
context.getLogger().info(message);
}
}
Строка AzureEventHubConnectionString определена в настройках приложения, и ее значение имеет формат
Конечная точка=sb://[узел-концентратор].служебная шина.windows.net/;SharedAccessKeyName=[Имя пользователя];SharedAccessKey=[основной ключ]