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
- Wystąpienie operacji usługi Azure IoT
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:
W środowisku operacji wybierz punkty końcowe przepływu danych.
Wybierz domyślny punkt końcowy, aby wyświetlić lub edytować ustawienia.
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.
W środowisku operacji wybierz punkty końcowe przepływu danych.
W obszarze Tworzenie nowego punktu końcowego przepływu danych wybierz pozycję Operacje usługi Azure IoT Local MQTT>New.
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.
- Na karcie Rola wybierz odpowiednią rolę, na przykład
EventGrid TopicSpaces Publisher
lubEventGrid 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). - Na karcie Członkowie:
- 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.
- 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.
W środowisku operacji wybierz kartę Punkty końcowe przepływu danych.
W obszarze Tworzenie nowego punktu końcowego przepływu danych wybierz pozycję Azure Event Grid MQTT>Nowy.
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. 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.
W środowisku operacji wybierz kartę Punkty końcowe przepływu danych.
W obszarze Tworzenie nowego punktu końcowego przepływu danych wybierz pozycję Niestandardowy broker>MQTT Nowy.
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. 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:
- 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.
- 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.
- Na karcie Rola wybierz odpowiednią rolę.
- 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.net
usł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:
- 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.
- Na karcie Rola wybierz odpowiednią rolę.
- 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
iclient_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 Never
wartość , 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 WebSockets
wartość .
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.