Konsument funkcji Azure dostaje 401 przy użyciu polecenia połączenia

0

Pytanie

Jestem bardzo początkujący w mechanizmach systemu Azure i utknął na tym problemie.

Mam wydruk z systemu azure, która powinna działać wydarzeniami, wydanymi w centrum wydarzeń. Zainstalowałem ciąg połączenia sas, zebrane na stronie portalu azure koncentratora zdarzeń (z opcją "zarządzanie"), i użył tego samego klucza w uwagach EventHubTrigger (jest to funkcja Java 11).

Najpierw dostałem komunikat o błędzie, w którym stwierdzono, że adres IP funkcji został zablokowany dla połączeń od błędy wyrzuciłem, zaznaczając pole wyboru "zezwalaj na zaufane usługi Microsoft" w ustawieniach sieciowych koncentratora zdarzeń.

Następnie dostałem 401 nieautoryzowany dostęp.

Czyszcząc wszystkie ograniczenia adresów IP z koncentratora zdarzeń (co czyni go publiczny), zaczyna odtwarzać i przetwarzać zdarzenia, przekazanych w centrum zdarzeń.

Oczywiście, chciałbym odzyskać te ograniczenia, ale wyjątek 401 nie skończy.

Co przeoczyłem?

Edytować (Dodawanie kodu funkcji):

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);
    }
}

Wiersz AzureEventHubConnectionString określona w ustawieniach aplikacji, a jej wartość ma format

Punkt końcowy=sb://[zespół-koncentrator].narzędzie шина.windows.net/;SharedAccessKeyName=[Nazwa użytkownika];SharedAccessKey=[klucz]

azure azure-eventhub azure-functions
2021-11-23 21:26:35
2
0

Zgodnie z dokumentacją,

Prawa przyznane regułą polityki, mogą stanowić kombinację:

  • Wyślij – Daje prawo do wysyłania wiadomości z tematu
  • Słuchać – Daje prawo słuchać lub otrzymywać podmiotowi
  • Zarządzanie – Daje prawo do zarządzania topologii przestrzeni nazw, w tym tworzenie i usuwanie encji

W twoim przypadku, ponieważ twoja funkcja nasłuchuje zdarzenia z eventhub, należy stosować zasadę słuchania SAS.

2021-11-24 01:15:05
0

Polityka SAS dostarcza szczegółowy zakres działania tylko na poziomie istoty, a nie na poziomie konsumenta.

Oznacza to, że uprawnienia, określone na poziomie przestrzeni nazw, wystąpienia koncentratora zdarzeń lub poziomu tematy będą dotyczyć grupy odbiorców tej encji.

Zainstalowałem ciąg połączenia sas, zebrane na stronie portalu azure koncentratora zdarzeń (z opcją "zarządzanie").

Uwierzytelnianie markerów centrów zdarzeń wymaga, aby jego klienci mieli prawa zarządzania lub prawa słuchaniaprzypisane do przestrzeni nazw centrów zdarzeń lub wystąpieniem lub tematu koncentratora zdarzeń.

W celu uzyskania kodu Java podczas tworzenia podpisu (token SAS) z zasady można znaleźć Tutaj.

Aby przeczytać szczegółowe informacje na temat zasad polityki, takich jak Przekazywanie, odtwarzanie i zarządzanie, ograniczenie zasad, stosowanych do przestrzeni nazw lub polityce encji, a także wskazówki dotyczące korzystania z SAS, zapoznaj się z tą dokumentacją Microsoft.

2021-11-24 03:18:35

Przejrzałem dokumentację, ale nie znalazłem odpowiedzi. Jak mogę wygenerować token SAS z kodu Java, jeśli funkcja nawet się nie uruchamia? I nawet jeśli stworzę token SAS poza funkcją, gdzie należy go używać?
Esotopo21

nie mógłbyś, proszę, podać kod funkcji, który napisałeś do rozpoczęcia imprezy.
HariKrishnaRajoli-MT

Ja edytowany przez pytanie za pomocą kodu i ciąg połączenia, które używam
Esotopo21

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................