Udostępnij za pośrednictwem


Konfigurowanie punktów końcowych przepływu danych MQTT

Ważne

Ta strona zawiera instrukcje dotyczące zarządzania składnikami operacji usługi Azure IoT przy użyciu manifestów wdrażania platformy Kubernetes, które są w wersji zapoznawczej. Ta funkcja jest udostępniana z kilkoma ograniczeniami i nie powinna być używana w przypadku obciążeń produkcyjnych.

Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.

Punkty końcowe przepływu danych MQTT są używane dla źródeł i miejsc docelowych MQTT. Możesz skonfigurować ustawienia punktu końcowego, protokół Transport Layer Security (TLS), uwierzytelnianie i inne ustawienia.

Wymagania wstępne

Lokalny broker MQTT operacji usługi Azure IoT

Operacje usługi Azure IoT udostępnia wbudowany lokalny broker MQTT, którego można używać z przepływami danych. Broker MQTT może służyć jako źródło do odbierania komunikatów z innych systemów lub jako miejsca docelowego do wysyłania komunikatów do innych systemów.

Domyślny punkt końcowy

Podczas wdrażania operacji usługi Azure IoT punkt końcowy przepływu danych brokera MQTT o nazwie "default" jest tworzony z ustawieniami domyślnymi. Tego punktu końcowego można użyć jako źródła lub miejsca docelowego dla przepływów danych.

Ważne

Musisz użyć domyślnego punktu końcowego lub jednego z tymi samymi ustawieniami w każdym przepływie danych. Może to być źródło, miejsce docelowe lub oba te elementy. Aby uzyskać więcej informacji, zobacz Przepływy danych muszą używać lokalnego punktu końcowego brokera MQTT.

Domyślny punkt końcowy używa następujących ustawień:

  • Host: aio-broker:18883 za pośrednictwem domyślnego odbiornika brokera MQTT
  • Uwierzytelnianie: token konta usługi (SAT) za pośrednictwem domyślnego zasobu BrokerAuthentication
  • TLS: włączone
  • Zaufany certyfikat urzędu certyfikacji: domyślny certyfikat azure-iot-operations-aio-ca-trust-bundle urzędu certyfikacji z domyślnego głównego urzędu certyfikacji

Uwaga

Nie usuwaj domyślnego punktu końcowego. Jeśli usuniesz domyślny punkt końcowy, musisz go ponownie utworzyć przy użyciu tych samych ustawień.

Aby wyświetlić lub edytować domyślne ustawienia punktu końcowego brokera MQTT:

  1. W środowisku operacji wybierz punkty końcowe przepływu danych.

  2. Wybierz domyślny punkt końcowy, aby wyświetlić lub edytować ustawienia.

    Zrzut ekranu przedstawiający środowisko operacji w celu wyświetlenia domyślnego punktu końcowego przepływu danych MQTT.

Tworzenie nowego punktu końcowego

Możesz również utworzyć nowe lokalne punkty końcowe brokera MQTT przy użyciu ustawień niestandardowych. Możesz na przykład utworzyć nowy punkt końcowy brokera MQTT przy użyciu innego portu, uwierzytelniania lub ustawień autoryzacji. Jednak nadal musisz zawsze używać domyślnego punktu końcowego jako źródła lub miejsca docelowego w każdym przepływie danych, nawet jeśli tworzysz nowe punkty końcowe.

  1. W środowisku operacji wybierz punkty końcowe przepływu danych.

  2. W obszarze Tworzenie nowego punktu końcowego przepływu danych wybierz pozycję Operacje usługi Azure IoT Local MQTT>New.

    Zrzut ekranu przedstawiający środowisko operacji w celu utworzenia nowego lokalnego punktu końcowego przepływu danych MQTT.

    Wprowadź następujące ustawienia punktu końcowego:

    Ustawienie opis
    Nazwa/nazwisko Nazwa punktu końcowego przepływu danych.
    Gospodarz Nazwa hosta i port brokera MQTT. Użyj formatu <hostname>:<port>
    Metoda uwierzytelniania Metoda używana do uwierzytelniania. Wybieranie tokenu konta usługi lub certyfikatu X509
    Odbiorcy usługi Odbiorcy tokenu konta usługi. Wymagane w przypadku korzystania z tokenu konta usługi.
    Certyfikat klienta X509 Certyfikat klienta X.509 używany do uwierzytelniania. Wymagane w przypadku używania certyfikatu X509.
    Klucz klienta X509 Klucz prywatny odpowiadający certyfikatowi klienta X.509. Wymagane w przypadku używania certyfikatu X509.
    Certyfikaty pośrednie X509 Certyfikaty pośrednie dla łańcucha certyfikatów klienta X.509. Wymagane w przypadku używania certyfikatu X509.

Azure Event Grid

Usługa Azure Event Grid udostępnia w pełni zarządzany broker MQTT, który współpracuje z przepływami danych operacji usługi Azure IoT. Aby skonfigurować punkt końcowy brokera MQTT usługi Azure Event Grid, zalecamy użycie tożsamości zarządzanej do uwierzytelniania.

Konfigurowanie przestrzeni nazw usługi Event Grid

Jeśli jeszcze tego nie zrobiono, najpierw utwórz przestrzeń nazw usługi Event Grid.

Włączanie protokołu MQTT

Po utworzeniu przestrzeni nazw usługi Event Grid przejdź do pozycji Konfiguracja i sprawdź:

  • Włącz MQTT: zaznacz pole wyboru.
  • Maksymalna liczba sesji klienta na nazwę uwierzytelniania: ustaw wartość na 3 lub więcej.

Opcja maksymalna sesji klienta jest ważna, aby przepływy danych mogły być skalowane w górę i nadal mogą się łączyć. Aby dowiedzieć się więcej, zobacz Obsługa wielu sesji usługi Event Grid MQTT.

Tworzenie obszaru tematu

Aby przepływy danych wysyłały lub odbierały komunikaty do brokera MQTT usługi Event Grid, należy utworzyć co najmniej jedno miejsce tematu w przestrzeni nazw usługi Event Grid. Obszar tematu można utworzyć w przestrzeni nazw usługi Event Grid, wybierając pozycję Miejsca>tematów Nowy obszar tematu.

Aby szybko rozpocząć pracę i przetestować, możesz utworzyć obszar tematu z symbolami # wieloznacznymi jako szablon tematu.

Przypisywanie uprawnień do tożsamości zarządzanej

Aby skonfigurować punkt końcowy przepływu danych dla brokera MQTT usługi Event Grid, zalecamy użycie tożsamości zarządzanej przypisanej przez użytkownika lub przypisanej przez system. Takie podejście jest bezpieczne i eliminuje konieczność ręcznego zarządzania poświadczeniami.

Po utworzeniu obszaru tematu należy przypisać rolę do tożsamości zarządzanej operacji usługi Azure IoT, która udziela uprawnień do wysyłania lub odbierania komunikatów do brokera MQTT usługi Event Grid.

Jeśli korzystasz z tożsamości zarządzanej przypisanej przez system, w witrynie Azure Portal przejdź do wystąpienia operacji usługi Azure IoT i wybierz pozycję Przegląd. Skopiuj nazwę rozszerzenia wymienionego po rozszerzeniu Usługi Azure IoT Operations Arc. Na przykład azure-iot-operations-xxxx7. Tożsamość zarządzana przypisana przez system można znaleźć przy użyciu tej samej nazwy rozszerzenia usługi Azure IoT Operations Arc.

Następnie przejdź do obszaru nazw >usługi Event Grid Access Control (IAM)>Dodaj przypisanie roli.

  1. Na karcie Rola wybierz odpowiednią rolę, na przykład EventGrid TopicSpaces Publisher lub EventGrid TopicSpaces Subscriber. Dzięki temu tożsamość zarządzana ma niezbędne uprawnienia do wysyłania lub odbierania komunikatów dla wszystkich obszarów tematów w przestrzeni nazw. Aby dowiedzieć się więcej, zobacz Microsoft Entra JWT authentication and Azure RBAC authorization to publish or subscribe MQTT messages (Uwierzytelnianie JWT firmy Microsoft i autoryzacja RBAC platformy Azure w celu publikowania lub subskrybowania komunikatów MQTT).
  2. Na karcie Członkowie:
    1. W przypadku korzystania z tożsamości zarządzanej przypisanej przez system w polu Przypisz dostęp do wybierz opcję Użytkownik, grupa lub jednostka usługi , a następnie wybierz pozycję + Wybierz członków i wyszukaj nazwę rozszerzenia Azure IoT Operations Arc.
    2. Jeśli używasz tożsamości zarządzanej przypisanej przez użytkownika, w obszarze Przypisz dostęp do wybierz opcję Tożsamość zarządzana, a następnie wybierz pozycję + Wybierz członków i wyszukaj tożsamość zarządzaną przypisaną przez użytkownika skonfigurowaną dla połączeń w chmurze.

Alternatywnie można przypisać rolę na poziomie przestrzeni tematu. Przejdź do obszaru >tematu Kontrola dostępu (IAM)>Dodaj przypisanie roli. Przypisz tożsamość zarządzaną z odpowiednią rolą, na przykład EventGrid TopicSpaces Publisher lub EventGrid TopicSpaces Subscriber. Daje to tożsamości zarządzanej niezbędne uprawnienia do wysyłania lub odbierania komunikatów dla określonego obszaru tematu.

Tworzenie punktu końcowego przepływu danych dla brokera MQTT usługi Event Grid

Po skonfigurowaniu przestrzeni nazw usługi Event Grid można utworzyć punkt końcowy przepływu danych dla brokera MQTT usługi Event Grid.

  1. W środowisku operacji wybierz kartę Punkty końcowe przepływu danych.

  2. W obszarze Tworzenie nowego punktu końcowego przepływu danych wybierz pozycję Azure Event Grid MQTT>Nowy.

    Zrzut ekranu przedstawiający tworzenie punktu końcowego usługi Azure Event Grid przy użyciu środowiska operacji.

    Wprowadź następujące ustawienia punktu końcowego:

    Ustawienie opis
    Nazwa/nazwisko Nazwa punktu końcowego przepływu danych.
    Gospodarz Nazwa hosta i port brokera MQTT usługi Event Grid. Użyj formatu <NAMESPACE>.<REGION>-1.ts.eventgrid.azure.net:8883
    Metoda uwierzytelniania Metoda używana do uwierzytelniania. Zalecamy wybranie tożsamości zarządzanej przypisanej przez system lub tożsamości zarządzanej przypisanej przez użytkownika.
  3. Wybierz pozycję Zastosuj , aby aprowizować punkt końcowy.

Po utworzeniu punktu końcowego możesz użyć go w przepływie danych, aby nawiązać połączenie z brokerem MQTT usługi Event Grid jako źródłem lub miejscem docelowym. Tematy MQTT są konfigurowane w przepływie danych.

Używanie uwierzytelniania certyfikatu X.509 w usłudze Event Grid

Jeśli używasz uwierzytelniania X.509 z brokerem MQTT usługi Event Grid, przejdź do konfiguracji przestrzeni nazw >usługi Event Grid i sprawdź następujące ustawienia:

  • Włącz MQTT: zaznacz pole wyboru.
  • Włącz alternatywne źródła nazw uwierzytelniania klienta: zaznacz pole wyboru.
  • Nazwa podmiotu certyfikatu: wybierz tę opcję na liście rozwijanej.
  • Maksymalna liczba sesji klienta na nazwę uwierzytelniania: ustaw wartość na 3 lub więcej.

Alternatywne uwierzytelnianie klienta i opcje maksymalnej sesji klienta umożliwiają przepływom danych używanie nazwy podmiotu certyfikatu klienta do uwierzytelniania zamiast MQTT CONNECT Username. Ta funkcja jest ważna, aby przepływy danych mogły zduplikować wiele wystąpień i nadal być w stanie nawiązać połączenie. Aby dowiedzieć się więcej, zobacz Event Grid MQTT client certificate authentication and Multi-session support (Uwierzytelnianie certyfikatu klienta MQTT usługi Event Grid i obsługa wielu sesji).

Następnie wykonaj kroki opisane w certyfikacie X.509, aby skonfigurować punkt końcowy przy użyciu ustawień certyfikatu X.509.

Ograniczenie subskrypcji udostępnionej usługi Event Grid

Broker MQTT usługi Azure Event Grid nie obsługuje subskrypcji udostępnionych, co oznacza, że nie można ustawić wartości większej instanceCount niż 1 w profilu przepływu danych, jeśli usługa Event Grid jest używana jako źródło (gdzie przepływ danych subskrybuje komunikaty) dla przepływu danych. W takim przypadku jeśli ustawisz wartość instanceCount większą niż 1, uruchomienie przepływu danych nie powiedzie się.

Niestandardowe brokery MQTT

W przypadku innych brokerów MQTT można skonfigurować punkt końcowy, protokół TLS, uwierzytelnianie i inne ustawienia zgodnie z potrzebami.

  1. W środowisku operacji wybierz kartę Punkty końcowe przepływu danych.

  2. W obszarze Tworzenie nowego punktu końcowego przepływu danych wybierz pozycję Niestandardowy broker>MQTT Nowy.

    Zrzut ekranu przedstawiający tworzenie niestandardowego punktu końcowego brokera MQTT przy użyciu środowiska operacji.

  3. Wprowadź następujące ustawienia punktu końcowego:

    Ustawienie opis
    Nazwa/nazwisko Nazwa punktu końcowego przepływu danych
    Gospodarz Nazwa hosta punktu końcowego brokera MQTT w formacie <hostname>.<port>.
    Metoda uwierzytelniania Metoda używana do uwierzytelniania. Wybierz pozycję Token konta usługi lub certyfikat X509.
    Odbiorcy usługi Odbiorcy tokenu konta usługi. Wymagane w przypadku korzystania z tokenu konta usługi.
    Certyfikat klienta X509 Certyfikat klienta X.509 używany do uwierzytelniania. Wymagane w przypadku używania certyfikatu X509.
    Klucz klienta X509 Klucz prywatny odpowiadający certyfikatowi klienta X.509. Wymagane w przypadku używania certyfikatu X509.
    Certyfikaty pośrednie X509 Certyfikaty pośrednie dla łańcucha certyfikatów klienta X.509. Wymagane w przypadku używania certyfikatu X509.
  4. Wybierz pozycję Zastosuj , aby aprowizować punkt końcowy.

Aby dostosować ustawienia punktu końcowego MQTT, zobacz poniższe sekcje, aby uzyskać więcej informacji.

Dostępne metody uwierzytelniania

Następujące metody uwierzytelniania są dostępne dla punktów końcowych przepływu danych brokera MQTT.

Tożsamość zarządzana przypisana przez system

Przed skonfigurowaniem punktu końcowego przepływu danych przypisz rolę do tożsamości zarządzanej operacji usługi Azure IoT, która udziela uprawnień do nawiązywania połączenia z brokerem MQTT:

  1. W witrynie Azure Portal przejdź do wystąpienia operacji usługi Azure IoT i wybierz pozycję Przegląd.
  2. Skopiuj nazwę rozszerzenia wymienionego po rozszerzeniu Usługi Azure IoT Operations Arc. Na przykład azure-iot-operations-xxxx7.
  3. Przejdź do zasobu w chmurze, który musisz udzielić uprawnień. Na przykład przejdź do obszaru >nazw Usługi Event Grid Kontrola dostępu (IAM)>Dodaj przypisanie roli.
  4. Na karcie Rola wybierz odpowiednią rolę.
  5. Na karcie Członkowie w polu Przypisz dostęp do wybierz opcję Użytkownik, grupa lub jednostka usługi, a następnie wybierz pozycję + Wybierz członków i wyszukaj tożsamość zarządzaną operacji usługi Azure IoT Operations. Na przykład azure-iot-operations-xxxx7.

Następnie skonfiguruj punkt końcowy przepływu danych przy użyciu ustawień tożsamości zarządzanej przypisanej przez system.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Podstawowa, a następnie wybierz pozycję Metoda>uwierzytelniania Przypisana tożsamość zarządzana przez system.

W większości przypadków użycia z usługą Event Grid można pozostawić ustawienia puste, jak pokazano. Spowoduje to ustawienie odbiorców tożsamości zarządzanej na typowych odbiorców https://eventgrid.azure.netusługi Event Grid. Jeśli musisz ustawić inną grupę odbiorców, możesz określić ją w ustawieniach.

Nieobsługiwane.

Tożsamość zarządzana przypisana przez użytkownika

Aby użyć tożsamości zarządzanej przypisanej przez użytkownika do uwierzytelniania, należy najpierw wdrożyć operacje usługi Azure IoT z włączonymi bezpiecznymi ustawieniami. Następnie należy skonfigurować tożsamość zarządzaną przypisaną przez użytkownika dla połączeń w chmurze. Aby dowiedzieć się więcej, zobacz Włączanie bezpiecznych ustawień we wdrożeniu operacji usługi Azure IoT.

Przed skonfigurowaniem punktu końcowego przepływu danych przypisz rolę do tożsamości zarządzanej przypisanej przez użytkownika, która udziela uprawnień do nawiązywania połączenia z brokerem MQTT:

  1. W witrynie Azure Portal przejdź do zasobu w chmurze, który musisz udzielić uprawnień. Na przykład przejdź do obszaru >nazw Usługi Event Grid Kontrola dostępu (IAM)>Dodaj przypisanie roli.
  2. Na karcie Rola wybierz odpowiednią rolę.
  3. Na karcie Członkowie w polu Przypisz dostęp do wybierz opcję Tożsamość zarządzana, a następnie wybierz pozycję + Wybierz członków i wyszukaj tożsamość zarządzaną przypisaną przez użytkownika.

Następnie skonfiguruj punkt końcowy przepływu danych przy użyciu ustawień tożsamości zarządzanej przypisanej przez użytkownika.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Podstawowa, a następnie wybierz pozycję Metoda>uwierzytelniania Przypisana przez użytkownika tożsamość zarządzana.

W tym miejscu zakres jest opcjonalny i domyślnie https://eventgrid.azure.net/.default działa dla wszystkich przestrzeni nazw usługi Azure Event Grid. Jeśli musisz ustawić inny zakres, możesz określić go w ustawieniach za pośrednictwem platformy Bicep lub Kubernetes.

Token konta usługi Kubernetes (SAT)

Aby użyć tokenu konta usługi Kubernetes (SAT) do uwierzytelniania, nie musisz tworzyć wpisu tajnego. Sat służy do uwierzytelniania za pomocą brokera MQTT przez dopasowanie odbiorców.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Podstawowa, a następnie wybierz pozycję Token konta usługi metody>uwierzytelniania.

Wprowadź odbiorców usługi.

Certyfikat X.509

Wiele brokerów MQTT, takich jak Event Grid, obsługuje uwierzytelnianie X.509. Przepływy danych mogą prezentować certyfikat X.509 klienta i negocjować komunikację TLS.

Certyfikat i klucz prywatny muszą być w formacie PEM, a nie chronione hasłem.

Napiwek

Format PEM jest typowym formatem certyfikatów i kluczy. Certyfikaty i klucze w formacie PEM to pliki ASCII zakodowane w formacie base64 z nagłówkami, które wyglądają następująco: -----BEGIN CERTIFICATE----- i -----BEGIN EC PRIVATE KEY----

Jeśli masz certyfikat w innym formacie, możesz przekonwertować go na format PEM przy użyciu biblioteki OpenSSL. Aby dowiedzieć się więcej, zobacz Jak przekonwertować certyfikat na odpowiedni format.

Przed skonfigurowaniem punktu końcowego przepływu danych utwórz wpis tajny z certyfikatem i kluczem prywatnym.

  • Jeśli używasz portalu operacji, wpis tajny jest automatycznie sformatowany i zsynchronizowany z klastrem Kubernetes.

  • Jeśli używasz Bicep lub Kubernetes, ręcznie utwórz wpis tajny z certyfikatem i kluczem prywatnym w tej samej przestrzeni nazw co punkt końcowy przepływu danych MQTT.

    kubectl create secret generic <X509_SECRET_NAME> -n azure-iot-operations --from-file=client_cert.pem=<CLIENT_CERT_FILE>.pem --from-file=client_key.pem=<PRIVATE_KEY_FILE>.pem --from-file=client_intermediate_certs.pem=<INTERMEDIATE_CERT_FILE>.pem
    

    W tym miejscu klucz tajny musi zawierać client_cert.pem i client_key.pem jako nazwy kluczy certyfikatu i klucza prywatnego. Opcjonalnie wpis tajny może również mieć client_intermediate_certs.pem jako nazwę klucza certyfikatów pośrednich.

Ważne

Aby można było zarządzać wpisami tajnymi za pomocą portalu obsługi operacji, najpierw należy włączyć operacje usługi Azure IoT z bezpiecznymi ustawieniami, konfigurując usługę Azure Key Vault i włączając tożsamości obciążeń. Aby dowiedzieć się więcej, zobacz Włączanie bezpiecznych ustawień we wdrożeniu operacji usługi Azure IoT.

Ważne

Portal środowiska operacji ma obecnie znany problem polegający na tym, że utworzenie wpisu tajnego X.509 powoduje wpis tajny z niepoprawnie zakodowanymi danymi. Aby dowiedzieć się więcej i obejść, zobacz znane problemy.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Podstawowa, a następnie wybierz pozycję Metoda>uwierzytelniania X509 certyfikatu.

W tym miejscu w obszarze Zsynchronizowana nazwa wpisu tajnego wprowadź nazwę wpisu tajnego. Ta nazwa służy do odwołowania się do wpisu tajnego w ustawieniach punktu końcowego przepływu danych i jest nazwą wpisu tajnego przechowywanego w klastrze Kubernetes.

Następnie w obszarze certyfikatu klienta X509, klucza klienta X509 i certyfikatów pośrednich X509 wybierz pozycję Dodaj odwołanie , aby dodać certyfikat, klucz prywatny i certyfikaty pośrednie. Na następnej stronie wybierz wpis tajny z usługi Azure Key Vault z pozycją Dodaj z usługi Azure Key Vault lub Utwórz nowy wpis tajny.

W przypadku wybrania pozycji Utwórz nowy wprowadź następujące ustawienia:

Ustawienie opis
Nazwa wpisu tajnego Nazwa wpisu tajnego w usłudze Azure Key Vault. Wybierz nazwę, która jest łatwa do zapamiętania, aby wybrać wpis tajny później z listy.
Wartość wpisu tajnego Certyfikat, klucz prywatny lub certyfikaty pośrednie w formacie PEM.
Ustawianie daty aktywacji Jeśli jest włączona, data, gdy wpis tajny stanie się aktywny.
Ustawianie daty wygaśnięcia Jeśli jest włączona, data wygaśnięcia wpisu tajnego.

Aby dowiedzieć się więcej na temat wpisów tajnych, zobacz Tworzenie wpisów tajnych i zarządzanie nimi w operacjach usługi Azure IoT.

Anonimowe

Aby użyć uwierzytelniania anonimowego, ustaw metodę uwierzytelniania na Anonymous.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Podstawowa , a następnie wybierz pozycję Metoda>uwierzytelniania Brak.

Ustawienia zaawansowane

Możesz ustawić zaawansowane ustawienia punktu końcowego przepływu danych brokera MQTT, takie jak TLS, zaufany certyfikat urzędu certyfikacji, ustawienia obsługi komunikatów MQTT i CloudEvents. Te ustawienia można ustawić na karcie Zaawansowane portal punktu końcowego przepływu danych w ramach niestandardowego zasobu punktu końcowego przepływu danych.

W środowisku operacji wybierz kartę Zaawansowane dla punktu końcowego przepływu danych.

Ustawienia protokołu TLS

Tryb TLS

Aby włączyć lub wyłączyć protokół TLS dla punktu końcowego MQTT, zaktualizuj mode ustawienie w ustawieniach protokołu TLS.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Zaawansowane , a następnie użyj pola wyboru obok włączonego trybu TLS.

Tryb TLS można ustawić na Enabled lub Disabled. Jeśli tryb jest ustawiony na Enabled, przepływ danych używa bezpiecznego połączenia z brokerem MQTT. Jeśli tryb jest ustawiony na Disabled, przepływ danych używa niezabezpieczonego połączenia z brokerem MQTT.

Zaufany certyfikat urzędu certyfikacji

Skonfiguruj zaufany certyfikat urzędu certyfikacji dla punktu końcowego MQTT w celu nawiązania bezpiecznego połączenia z brokerem MQTT. To ustawienie jest ważne, jeśli broker MQTT używa certyfikatu z podpisem własnym lub certyfikatu podpisanego przez niestandardowy urząd certyfikacji, który nie jest domyślnie zaufany.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Zaawansowane, a następnie użyj pola mapy konfiguracji certyfikatu zaufanego urzędu certyfikacji, aby określić ConfigMap zawierającą zaufany certyfikat urzędu certyfikacji.

Ta mapa konfiguracji powinna zawierać certyfikat urzędu certyfikacji w formacie PEM. ConfigMap musi znajdować się w tej samej przestrzeni nazw co zasób przepływu danych MQTT. Na przykład:

kubectl create configmap client-ca-configmap --from-file root_ca.crt -n azure-iot-operations

Napiwek

Podczas nawiązywania połączenia z brokerem MQTT usługi Event Grid certyfikat urzędu certyfikacji nie jest wymagany, ponieważ usługa Event Hubs domyślnie używa certyfikatu podpisanego przez publiczny urząd certyfikacji, który jest domyślnie zaufany.

Prefiks identyfikatora klienta

Dla klienta MQTT można ustawić prefiks identyfikatora klienta. Identyfikator klienta jest generowany przez dołączenie nazwy wystąpienia przepływu danych do prefiksu.

Uwaga

Większość aplikacji nie powinna modyfikować prefiksu identyfikatora klienta. Nie modyfikuj tego po początkowym wdrożeniu operacji IoT. Zmiana prefiksu identyfikatora klienta po wdrożeniu może spowodować utratę danych.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Zaawansowane , a następnie użyj pola Prefiks identyfikatora klienta, aby określić prefiks.

QoS

Możesz ustawić poziom jakości usług (QoS) dla komunikatów MQTT na 1 lub 0. Wartość domyślna to 1.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Zaawansowane, a następnie użyj pola Jakość usługi (QoS), aby określić poziom QoS.

Zachowaj

retain Użyj ustawienia , aby określić, czy przepływ danych powinien zachować flagę zachowywania w komunikatach MQTT. Wartość domyślna to Keep.

Ustawienie tego pola Keep na wartość jest przydatne, aby upewnić się, że broker zdalny ma te same komunikaty przechowywane jako broker lokalny, co może być ważne w scenariuszach ujednoliconej przestrzeni nazw (UNS).

Jeśli ustawiono Neverwartość , flaga zachowania zostanie usunięta z komunikatów MQTT. Może to być przydatne, gdy nie chcesz, aby broker zdalny zachowywał komunikaty lub jeśli broker zdalny nie obsługuje zachowania.

Aby skonfigurować ustawienia zachowania:

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Zaawansowane , a następnie użyj pola Zachowaj , aby określić ustawienie zachowania.

Ustawienie zachowania ma zastosowanie tylko wtedy, gdy przepływ danych używa punktu końcowego MQTT jako źródła i miejsca docelowego. Na przykład w scenariuszu mostka MQTT.

Ważne

Broker MQTT usługi Azure Event Grid obecnie nie obsługuje flagi zachowania. Oznacza to, że jeśli dla punktu końcowego brokera MQTT usługi Event Grid ustawiono flagę Keep zachowywania i jest ona używana jako miejsce docelowe, komunikaty są odrzucane. Aby tego uniknąć, ustaw flagę zachowywania na Never wartość w przypadku korzystania z brokera MQTT usługi Event Grid jako miejsca docelowego.

Wygaśnięcie sesji

Interwał wygaśnięcia sesji można ustawić dla klienta MQTT przepływu danych. Interwał wygaśnięcia sesji to maksymalny czas przechowywania sesji MQTT w przypadku rozłączenia klienta przepływu danych. Wartość domyślna to 600 sekund. Aby skonfigurować interwał wygaśnięcia sesji:

Na stronie ustawienia punktu końcowego przepływu danych operacji wybierz kartę Zaawansowane , a następnie użyj pola Wygaśnięcie sesji, aby określić interwał wygaśnięcia sesji.

Protokół MQTT lub WebSockets

Domyślnie obiekty WebSocket nie są włączone. Aby użyć protokołu MQTT za pośrednictwem obiektów WebSocket, ustaw protocol pole na WebSocketswartość .

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Zaawansowane , a następnie użyj pola Protokół , aby określić protokół.

Maksymalna liczba komunikatów wlotowych

Można ustawić maksymalną liczbę komunikatów w locie, które może mieć klient MQTT przepływu danych. Ustawieniem domyślnym jest 100.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Zaawansowane , a następnie użyj pola Maksymalna liczba komunikatów w locie, aby określić maksymalną liczbę komunikatów inflight.

W przypadku subskrybowania, gdy punkt końcowy MQTT jest używany jako źródło, jest to maksymalna liczba odbieranych. W przypadku publikowania, gdy punkt końcowy MQTT jest używany jako miejsce docelowe, jest to maksymalna liczba komunikatów do wysłania przed oczekiwaniem na potwierdzenie.

Zachowaj życie

Możesz ustawić interwał utrzymania aktywności dla klienta MQTT przepływu danych. Interwał utrzymania aktywności to maksymalny czas bezczynności klienta przepływu danych przed wysłaniem komunikatu PINGREQ do brokera. Wartość domyślna to 60 sekund.

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Zaawansowane , a następnie użyj pola Zachowaj żywość , aby określić interwał utrzymania aktywności.

CloudEvents

CloudEvents to sposób opisywania danych zdarzeń w typowy sposób. Ustawienia CloudEvents służą do wysyłania lub odbierania komunikatów w formacie CloudEvents. Usługi CloudEvents można używać w przypadku architektur opartych na zdarzeniach, w których różne usługi muszą komunikować się ze sobą u tych samych lub różnych dostawców chmury.

Dostępne cloudEventAttributes opcje to Propagate lubCreateOrRemap. Aby skonfigurować ustawienia cloudEvents:

Na stronie ustawienia punktu końcowego przepływu danych środowiska operacji wybierz kartę Zaawansowane, a następnie użyj pola Atrybuty zdarzeń w chmurze, aby określić ustawienie CloudEvents.

Poniższe sekcje zawierają więcej informacji na temat ustawień cloudEvents.

Propagacja ustawienia

Właściwości CloudEvent są przekazywane dla komunikatów zawierających wymagane właściwości. Jeśli komunikat nie zawiera wymaganych właściwości, komunikat jest przekazywany w następujący sposób.

Nazwisko Wymagania Przykładowa wartość Wartość wyjściowa
specversion Tak 1.0 Przekazywane w formacie jest
type Tak ms.aio.telemetry Przekazywane w formacie jest
source Tak aio://mycluster/myoven Przekazywane w formacie jest
id Tak A234-1234-1234 Przekazywane w formacie jest
subject Nie. aio/myoven/telemetry/temperature Przekazywane w formacie jest
time Nie. 2018-04-05T17:31:00Z Przekazywane tak, jak to jest. Nie jest wypoczęty.
datacontenttype Nie. application/json Zmieniono typ zawartości danych wyjściowych po opcjonalnym etapie przekształcania.
dataschema Nie. sr://fabrikam-schemas/123123123234234234234234#1.0.0 Jeśli schemat przekształcania danych wyjściowych zostanie podany w konfiguracji przekształcania, dataschema zostanie zmieniony na schemat wyjściowy.

Ustawienie CreateOrRemap

Właściwości CloudEvent są przekazywane dla komunikatów zawierających wymagane właściwości. Jeśli komunikat nie zawiera wymaganych właściwości, zostaną wygenerowane właściwości.

Nazwisko Wymagania Wygenerowana wartość, jeśli brakuje
specversion Tak 1.0
type Tak ms.aio-dataflow.telemetry
source Tak aio://<target-name>
id Tak Wygenerowany identyfikator UUID w kliencie docelowym
subject Nie. Temat wyjściowy, w którym jest wysyłany komunikat
time Nie. Wygenerowany jako RFC 3339 w kliencie docelowym
datacontenttype Nie. Zmieniono na typ zawartości danych wyjściowych po opcjonalnym etapie przekształcania
dataschema Nie. Schemat zdefiniowany w rejestrze schematów

Następne kroki

Aby dowiedzieć się więcej na temat przepływów danych, zobacz Tworzenie przepływu danych.