MQTT 데이터 흐름 엔드포인트 구성
Important
이 페이지에는 미리 보기 상태인 Kubernetes 배포 매니페스트를 사용하여 Azure IoT Operations 구성 요소를 관리하기 위한 지침이 포함되어 있습니다. 이 기능은 몇 가지 제한 사항을 제공하며 프로덕션 워크로드에 사용하면 안 됩니다.
베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.
MQTT 데이터 흐름 엔드포인트는 MQTT 원본 및 대상에 사용됩니다. 엔드포인트 설정, TLS(전송 계층 보안), 인증 및 기타 설정을 구성할 수 있습니다.
필수 조건
- Azure IoT Operations의 인스턴스
Azure IoT Operations 로컬 MQTT broker
Azure IoT Operations는 데이터 흐름과 함께 사용할 수 있는 기본 제공 로컬 MQTT 브로커를 제공합니다. MQTT broker를 원본으로 사용하여 다른 시스템에서 메시지를 받거나 다른 시스템에 메시지를 보낼 대상으로 사용할 수 있습니다.
기본 엔드포인트
Azure IoT Operations를 배포할 때 "default"라는 MQTT Broker 데이터 흐름 엔드포인트가 기본 설정으로 만들어집니다. 이 엔드포인트를 데이터 흐름의 원본 또는 대상으로 사용할 수 있습니다.
Important
모든 데이터 흐름에서 기본 엔드포인트 또는 동일한 설정을 가진 엔드포인트를 사용해야 합니다. 원본, 대상 또는 둘 다일 수 있습니다. 자세한 내용은 데이터 흐름이 로컬 MQTT broker 엔드포인트를 사용해야 하므로 참조하세요.
기본 엔드포인트는 다음 설정을 사용합니다.
- 호스트:
aio-broker:18883
기본 MQTT broker 수신기를 통해 - 인증: 기본 BrokerAuthentication 리소스를 통한 SAT(서비스 계정 토큰)
- TLS: 사용
- 신뢰할 수 있는 CA 인증서: 기본 루트 CA의 기본 CA 인증서
azure-iot-operations-aio-ca-trust-bundle
주의
기본 엔드포인트를 삭제하지 마세요. 기본 엔드포인트를 삭제하는 경우 동일한 설정으로 다시 만들어야 합니다.
기본 MQTT broker 엔드포인트 설정을 보거나 편집하려면 다음을 수행합니다.
작업 환경에서 데이터 흐름 엔드포인트를 선택합니다.
설정을 보거나 편집할 기본 엔드포인트를 선택합니다.
새 엔드포인트 만들기
사용자 지정 설정을 사용하여 새 로컬 MQTT broker 엔드포인트를 만들 수도 있습니다. 예를 들어 다른 포트, 인증 또는 권한 부여 설정을 사용하여 새 MQTT broker 엔드포인트를 만들 수 있습니다. 그러나 새 엔드포인트를 만들더라도 모든 데이터 흐름에서 항상 기본 엔드포인트를 원본 또는 대상으로 사용해야 합니다.
작업 환경에서 데이터 흐름 엔드포인트를 선택합니다.
새 데이터 흐름 엔드포인트 만들기에서 Azure IoT Operations 로컬 MQTT>새로 만들기를 선택합니다.
엔드포인트에 대해 다음 설정을 입력합니다.
설정 Description 이름 데이터 흐름 엔드포인트의 이름입니다. 호스트 MQTT broker의 호스트 이름 및 포트입니다. <hostname>:<port>
형식을 사용합니다.인증 방법 인증에 사용되는 방법입니다. 서비스 계정 토큰 또는 X509 인증서 선택 서비스 대상 그룹 서비스 계정 토큰의 대상 그룹입니다. 서비스 계정 토큰을 사용하는 경우 필요합니다. X509 클라이언트 인증서 인증에 사용되는 X.509 클라이언트 인증서입니다. X509 인증서를 사용하는 경우 필요합니다. X509 클라이언트 키 X.509 클라이언트 인증서에 해당하는 프라이빗 키입니다. X509 인증서를 사용하는 경우 필요합니다. X509 중간 인증서 X.509 클라이언트 인증서 체인에 대한 중간 인증서입니다. X509 인증서를 사용하는 경우 필요합니다.
Azure Event Grid
Azure Event Grid는 Azure IoT Operations 데이터 흐름에서 작동하는 완전히 관리되는 MQTT 브로커 를 제공합니다. Azure Event Grid MQTT Broker 엔드포인트를 구성하려면 인증에 관리 ID를 사용하는 것이 좋습니다.
Event Grid 네임스페이스 구성
아직 수행 하지 않은 경우 먼저 Event Grid 네임스페이스를 만듭니다.
MQTT 사용
Event Grid 네임스페이스가 있으면 구성으로 이동하여 다음을 확인합니다.
- MQTT 사용: 확인란을 선택합니다.
- 인증 이름당 최대 클라이언트 세션 수: 3개 이상으로 설정합니다.
최대 클라이언트 세션 옵션은 데이터 흐름이 확장되고 계속 연결할 수 있도록 하는 것이 중요합니다. 자세한 내용은 Event Grid MQTT 다중 세션 지원을 참조하세요.
토픽 공간 만들기
데이터 흐름이 Event Grid MQTT broker에 메시지를 보내거나 받으려면 Event Grid 네임스페이스에 하나 이상의 토픽 공간을 만들어야 합니다. 토픽 공간 새 토픽 공간을 선택하여 Event Grid 네임스페이스에서 토픽 공간을>만들 수 있습니다.
빠르게 시작하고 테스트를 위해 와일드카드 토픽을 토픽 템플릿으로 사용하여 토픽 #
공간을 만들 수 있습니다.
관리 ID에 권한 할당
Event Grid MQTT broker에 대한 데이터 흐름 엔드포인트를 구성하려면 사용자 할당 또는 시스템 할당 관리 ID를 사용하는 것이 좋습니다. 이 방법은 안전하며 자격 증명을 수동으로 관리할 필요가 없습니다.
토픽 공간을 만든 후에는 Event Grid MQTT Broker에 메시지를 보내거나 받을 수 있는 권한을 부여하는 Azure IoT Operations 관리 ID에 역할을 할당해야 합니다.
시스템 할당 관리 ID를 사용하는 경우 Azure Portal에서 Azure IoT Operations 인스턴스로 이동하여 개요를 선택합니다. Azure IoT Operations Arc 확장 후에 나열된 확장의 이름을 복사합니다. 예를 들어 azure-iot-operations-xxxx7입니다. 시스템 할당 관리 ID는 Azure IoT Operations Arc 확장의 동일한 이름을 사용하여 찾을 수 있습니다.
그런 다음, Event Grid 네임스페이스 >액세스 제어(IAM)>로 이동하여 역할 할당을 추가합니다.
- 역할 탭에서 적절한 역할(예:
EventGrid TopicSpaces Publisher
또는EventGrid TopicSpaces Subscriber
.)을 선택합니다. 이렇게 하면 관리 ID에 네임스페이스의 모든 토픽 공간에 대한 메시지를 보내거나 받는 데 필요한 권한이 부여됩니다. 자세한 내용은 MQTT 메시지를 게시하거나 구독하는 Microsoft Entra JWT 인증 및 Azure RBAC 권한 부여를 참조하세요. - 멤버 탭에서 다음을 수행 합니다 .
- 시스템 할당 관리 ID를 사용하는 경우 액세스 할당을 위해 사용자, 그룹 또는 서비스 주체 옵션을 선택한 다음, + 멤버를 선택하고 Azure IoT Operations Arc 확장의 이름을 검색합니다.
- 사용자 할당 관리 ID를 사용하는 경우 액세스 할당에 대한 관리 ID 옵션을 선택한 다음, + 구성원을 선택하고 클라우드 연결에 대해 설정된 사용자 할당 관리 ID를 검색합니다.
또는 토픽 공간 수준에서 역할을 할당할 수 있습니다. 항목 공간 >액세스 제어(IAM)>로 이동하여 역할 할당을 추가합니다. 관리 ID에 적절한 역할(예: EventGrid TopicSpaces Publisher
또는 EventGrid TopicSpaces Subscriber
.)을 할당합니다. 이렇게 하면 관리 ID에 특정 토픽 공간에 대한 메시지를 보내거나 받는 데 필요한 권한이 부여됩니다.
Event Grid MQTT broker에 대한 데이터 흐름 엔드포인트 만들기
Event Grid 네임스페이스가 구성되면 Event Grid MQTT 브로커에 대한 데이터 흐름 엔드포인트를 만들 수 있습니다.
작업 환경에서 데이터 흐름 엔드포인트 탭을 선택합니다.
새 데이터 흐름 엔드포인트 만들기에서 Azure Event Grid MQTT>새로 만들기를 선택합니다.
엔드포인트에 대해 다음 설정을 입력합니다.
설정 Description 이름 데이터 흐름 엔드포인트의 이름입니다. 호스트 Event Grid MQTT broker의 호스트 이름 및 포트입니다. <NAMESPACE>.<REGION>-1.ts.eventgrid.azure.net:8883
형식을 사용합니다.인증 방법 인증에 사용되는 방법입니다. 시스템 할당 관리 ID 또는 사용자 할당 관리 ID를 선택하는 것이 좋습니다. 적용을 선택하여 엔드포인트를 프로비전합니다.
엔드포인트가 만들어지면 데이터 흐름에서 이를 사용하여 Event Grid MQTT 브로커에 원본 또는 대상으로 연결할 수 있습니다. MQTT 토픽은 데이터 흐름에서 구성됩니다.
Event Grid에서 X.509 인증서 인증 사용
Event Grid MQTT Broker에서 X.509 인증을 사용하는 경우 Event Grid 네임스페이스 >구성 으로 이동하여 다음 설정을 확인합니다.
- MQTT 사용: 확인란을 선택합니다.
- 대체 클라이언트 인증 이름 원본 사용: 확인란을 선택합니다.
- 인증서 주체 이름: 드롭다운 목록에서 이 옵션을 선택합니다.
- 인증 이름당 최대 클라이언트 세션 수: 3개 이상으로 설정합니다.
대체 클라이언트 인증 및 최대 클라이언트 세션 옵션을 사용하면 데이터 흐름이 대신 인증 MQTT CONNECT Username
에 클라이언트 인증서 주체 이름을 사용할 수 있습니다. 이 기능은 데이터 흐름이 여러 인스턴스를 생성하고 계속 연결할 수 있도록 하는 데 중요합니다. 자세한 내용은 Event Grid MQTT 클라이언트 인증서 인증 및 다중 세션 지원을 참조하세요.
그런 다음 X.509 인증서의 단계에 따라 X.509 인증서 설정을 사용하여 엔드포인트를 구성합니다.
Event Grid 공유 구독 제한
Azure Event Grid MQTT 브로커는 공유 구독을 지원하지 않습니다. 즉, Event Grid가 데이터 흐름에 대한 원본(데이터 흐름이 메시지를 구독하는 위치)으로 사용되는 경우 데이터 흐름 프로필보다 1
더 많이 설정할 instanceCount
수 없습니다. 이 경우 보다 1
크게 설정 instanceCount
하면 데이터 흐름이 시작되지 않습니다.
사용자 지정 MQTT 브로커
기타 MQTT 브로커의 경우 필요에 따라 엔드포인트, TLS, 인증 및 기타 설정을 구성할 수 있습니다.
작업 환경에서 데이터 흐름 엔드포인트 탭을 선택합니다.
새 데이터 흐름 엔드포인트 만들기에서 사용자 지정 MQTT Broker>새로 만들기를 선택합니다.
엔드포인트에 대해 다음 설정을 입력합니다.
설정 Description 이름 데이터 흐름 엔드포인트의 이름 호스트 형식 <hostname>.<port>
의 MQTT broker 엔드포인트의 호스트 이름입니다.인증 방법 인증에 사용되는 방법입니다. 서비스 계정 토큰 또는 X509 인증서를 선택합니다. 서비스 대상 그룹 서비스 계정 토큰의 대상 그룹입니다. 서비스 계정 토큰을 사용하는 경우 필요합니다. X509 클라이언트 인증서 인증에 사용되는 X.509 클라이언트 인증서입니다. X509 인증서를 사용하는 경우 필요합니다. X509 클라이언트 키 X.509 클라이언트 인증서에 해당하는 프라이빗 키입니다. X509 인증서를 사용하는 경우 필요합니다. X509 중간 인증서 X.509 클라이언트 인증서 체인에 대한 중간 인증서입니다. X509 인증서를 사용하는 경우 필요합니다. 적용을 선택하여 엔드포인트를 프로비전합니다.
MQTT 엔드포인트 설정을 사용자 지정하려면 자세한 내용은 다음 섹션을 참조하세요.
사용 가능한 인증 방법
다음 인증 방법은 MQTT broker 데이터 흐름 엔드포인트에 사용할 수 있습니다.
시스템 할당 관리 ID
데이터 흐름 엔드포인트를 구성하기 전에 MQTT Broker에 연결할 수 있는 권한을 부여하는 Azure IoT Operations 관리 ID에 역할을 할당합니다.
- Azure Portal에서 Azure IoT Operations 인스턴스로 이동하여 개요를 선택합니다.
- Azure IoT Operations Arc 확장 후에 나열된 확장의 이름을 복사합니다. 예를 들어 azure-iot-operations-xxxx7입니다.
- 권한을 부여해야 하는 클라우드 리소스로 이동합니다. 예를 들어 Event Grid 네임스페이스 >액세스 제어(IAM)>로 이동하여 역할 할당을 추가합니다.
- 역할 탭에서 적절한 역할을 선택합니다.
- 구성원 탭에서 액세스 권한 할당을 위해 사용자, 그룹 또는 서비스 주체 옵션을 선택한 다음, + 멤버를 선택하고 Azure IoT Operations 관리 ID를 검색합니다. 예를 들어 azure-iot-operations-xxxx7입니다.
그런 다음 시스템 할당 관리 ID 설정을 사용하여 데이터 흐름 엔드포인트를 구성합니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음 인증 방법>시스템 할당 관리 ID를 선택합니다.
Event Grid와 함께 사용하는 경우 대부분의 경우 표시된 대로 설정을 비워 둘 수 있습니다. 그러면 관리 ID 대상을 Event Grid 일반 대상 https://eventgrid.azure.net
그룹으로 설정합니다. 다른 대상 그룹을 설정해야 하는 경우 설정에서 지정할 수 있습니다.
지원되지 않습니다.
사용자 할당 관리 ID
인증에 사용자 할당 관리 ID를 사용하려면 먼저 보안 설정을 사용하도록 설정된 Azure IoT 작업을 배포해야 합니다. 그런 다음 클라우드 연결에 대한 사용자 할당 관리 ID를 설정해야 합니다. 자세한 내용은 Azure IoT Operations 배포에서 보안 설정 사용을 참조하세요.
데이터 흐름 엔드포인트를 구성하기 전에 MQTT broker에 연결할 수 있는 권한을 부여하는 사용자 할당 관리 ID에 역할을 할당합니다.
- Azure Portal에서 권한을 부여해야 하는 클라우드 리소스로 이동합니다. 예를 들어 Event Grid 네임스페이스 >액세스 제어(IAM)>로 이동하여 역할 할당을 추가합니다.
- 역할 탭에서 적절한 역할을 선택합니다.
- 구성원 탭에서 액세스 할당에 대한 관리 ID 옵션을 선택한 다음, + 구성원을 선택하고 사용자 할당 관리 ID를 검색합니다.
그런 다음 사용자 할당 관리 ID 설정을 사용하여 데이터 흐름 엔드포인트를 구성합니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음, 인증 방법>사용자 할당 관리 ID를 선택합니다.
여기서 범위는 선택 사항이며 모든 Azure Event Grid 네임스페이스에서 작동하는 기본값 https://eventgrid.azure.net/.default
입니다. 다른 범위를 설정해야 하는 경우 Bicep 또는 Kubernetes를 통해 설정에서 지정할 수 있습니다.
KUbernetes SAT(서비스 계정 토큰)
인증에 Kubernetes SAT(서비스 계정 토큰)를 사용하려면 비밀을 만들 필요가 없습니다. SAT는 대상 그룹을 일치시켜 MQTT 브로커를 사용하여 인증하는 데 사용됩니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음 인증 방법>서비스 계정 토큰을 선택합니다.
서비스 대상 그룹을 입력합니다.
X.509 인증서
Event Grid와 같은 많은 MQTT 브로커는 X.509 인증을 지원합니다. 데이터 흐름은 클라이언트 X.509 인증서를 제공하고 TLS 통신을 협상할 수 있습니다.
인증서 및 프라이빗 키는 암호로 보호되지 않고 PEM 형식이어야 합니다.
팁
PEM 형식은 인증서 및 키에 대한 일반적인 형식입니다. PEM 형식의 인증서 및 키는 다음과 같은 -----BEGIN CERTIFICATE-----
헤더가 있는 base64로 인코딩된 ASCII 파일입니다. -----BEGIN EC PRIVATE KEY----
다른 형식의 인증서가 있는 경우 OpenSSL을 사용하여 PEM 형식으로 변환할 수 있습니다. 자세한 내용은 인증서를 적절한 형식으로 변환하는 방법을 참조하세요.
데이터 흐름 엔드포인트를 구성하기 전에 인증서 및 프라이빗 키를 사용하여 비밀을 만듭니다.
작업 포털을 사용하는 경우 비밀은 자동으로 형식이 지정되고 Kubernetes 클러스터에 동기화됩니다.
Bicep 또는 Kubernetes를 사용하는 경우 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
여기서 비밀에는 인증서 및
client_key.pem
프라이빗 키의 키 이름이 있어야 합니다client_cert.pem
. 필요에 따라 비밀은 중간 인증서의 키 이름으로 사용할client_intermediate_certs.pem
수도 있습니다.
Important
작업 환경 포털을 사용하여 비밀을 관리하려면 먼저 Azure Key Vault를 구성하고 워크로드 ID를 사용하도록 설정하여 보안 설정을 사용하여 Azure IoT Operations를 사용하도록 설정해야 합니다. 자세한 내용은 Azure IoT Operations 배포에서 보안 설정 사용을 참조하세요.
Important
작업 환경 포털에는 현재 X.509 비밀을 만들면 잘못 인코딩된 데이터가 있는 비밀이 발생하는 알려진 문제가 있습니다. 자세한 내용과 해결 방법은 알려진 문제를 참조하세요.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음, 인증 방법>X509 인증서를 선택합니다.
여기서 동기화된 비밀 이름 아래에 비밀의 이름을 입력합니다. 이 이름은 데이터 흐름 엔드포인트 설정에서 비밀을 참조하는 데 사용되며 Kubernetes 클러스터에 저장된 비밀의 이름입니다.
그런 다음 X509 클라이언트 인증서, X509 클라이언트 키 및 X509 중간 인증서 아래에서 참조 추가를 선택하여 인증서, 프라이빗 키 및 중간 인증서를 추가합니다. 다음 페이지에서 Azure Key Vault에서 추가 또는 새 비밀 만들기를 사용하여 Azure Key Vault에서 비밀을 선택합니다.
새로 만들기를 선택하는 경우 다음 설정을 입력합니다.
설정 | 설명 |
---|---|
비밀 이름 | Azure Key Vault의 비밀 이름입니다. 나중에 목록에서 비밀을 선택하기 위해 기억하기 쉬운 이름을 선택합니다. |
비밀 값 | PEM 형식의 인증서, 프라이빗 키 또는 중간 인증서입니다. |
활성화 날짜 설정 | 설정하면 비밀이 활성화되는 날짜입니다. |
만료 날짜 설정 | 설정하면 비밀이 만료되는 날짜입니다. |
익명
익명 인증을 사용하려면 인증 방법을 .로 Anonymous
설정합니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음, 인증 방법>없음을 선택합니다.
고급 설정
TLS, 신뢰할 수 있는 CA 인증서, MQTT 메시징 설정 및 CloudEvents와 같은 MQTT broker 데이터 흐름 엔드포인트에 대한 고급 설정을 설정할 수 있습니다. 데이터 흐름 엔드포인트 고급 포털 탭의 데이터 흐름 엔드포인트 사용자 지정 리소스 내에서 이러한 설정을 설정할 수 있습니다.
작업 환경에서 데이터 흐름 엔드포인트에 대한 고급 탭을 선택합니다.
TLS 설정
TLS 모드
MQTT 엔드포인트에 대해 TLS를 사용하거나 사용하지 않도록 설정하려면 TLS 설정에서 설정을 업데이트 mode
합니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 TLS 모드 사용 옆의 확인란을 사용합니다.
TLS 모드를 설정하거나 Disabled
.로 Enabled
설정할 수 있습니다. 모드가 설정된 Enabled
경우 데이터 흐름은 MQTT 브로커에 대한 보안 연결을 사용합니다. 모드가 설정된 Disabled
경우 데이터 흐름은 MQTT 브로커에 대한 안전하지 않은 연결을 사용합니다.
신뢰할 수 있는 CA 인증서
MQTT 엔드포인트에 대해 신뢰할 수 있는 CA 인증서를 구성하여 MQTT 브로커에 대한 보안 연결을 설정합니다. MQTT 브로커가 자체 서명된 인증서 또는 기본적으로 신뢰할 수 없는 사용자 지정 CA에서 서명한 인증서를 사용하는 경우 이 설정이 중요합니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 신뢰할 수 있는 CA 인증서 구성 맵 필드를 사용하여 신뢰할 수 있는 CA 인증서가 포함된 ConfigMap을 지정합니다.
이 ConfigMap에는 PEM 형식의 CA 인증서가 포함되어야 합니다. ConfigMap은 MQTT 데이터 흐름 리소스와 동일한 네임스페이스에 있어야 합니다. 예시:
kubectl create configmap client-ca-configmap --from-file root_ca.crt -n azure-iot-operations
팁
Event Grid MQTT broker에 연결할 때 Event Hubs 서비스는 기본적으로 신뢰할 수 있는 공용 CA에서 서명한 인증서를 사용하므로 CA 인증서가 필요하지 않습니다.
클라이언트 ID 접두사
MQTT 클라이언트에 대한 클라이언트 ID 접두사를 설정할 수 있습니다. 클라이언트 ID는 접두사에 데이터 흐름 인스턴스 이름을 추가하여 생성됩니다.
주의
대부분의 애플리케이션은 클라이언트 ID 접두사를 수정해서는 안 됩니다. 초기 IoT 작업 배포 후에는 수정하지 마세요. 배포 후 클라이언트 ID 접두사를 변경하면 데이터가 손실될 수 있습니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음, 클라이언트 ID 접두사 필드를 사용하여 접두사를 지정합니다.
QoS
MQTT 메시지의 QoS(서비스 품질) 수준을 1 또는 0으로 설정할 수 있습니다. 기본값은 1입니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음, QoS(서비스 품질) 필드를 사용하여 QoS 수준을 지정합니다.
유지
이 retain
설정을 사용하여 데이터 흐름이 MQTT 메시지에 대한 보존 플래그를 유지할지 여부를 지정합니다. 기본값은 Keep
입니다.
이 필드를 설정하면 Keep
원격 브로커가 UNS(통합 네임스페이스) 시나리오에 중요할 수 있는 로컬 브로커와 동일한 메시지가 유지되도록 하는 데 유용합니다.
로 Never
설정하면 MQTT 메시지에서 보존 플래그가 제거됩니다. 이 기능은 원격 브로커가 메시지를 보존하지 않도록 하거나 원격 브로커가 보존을 지원하지 않는 경우에 유용할 수 있습니다.
설정 유지를 구성하려면 다음을 수행합니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 보존 필드를 사용하여 보존 설정을 지정합니다.
보존 설정은 데이터 흐름이 MQTT 엔드포인트를 원본 및 대상으로 사용하는 경우에만 적용됩니다. 예를 들어 MQTT 브리지 시나리오에서
Important
Azure Event Grid MQTT Broker 는 현재 보존 플래그를 지원하지 않습니다. 즉, Event Grid MQTT broker 엔드포인트에 대해 보존 플래그를 Keep
설정하고 대상으로 사용되는 경우 메시지가 거부됩니다. 이를 방지하려면 Event Grid MQTT broker를 Never
대상으로 사용할 때 보존 플래그를 설정합니다.
세션 만료
데이터 흐름 MQTT 클라이언트에 대한 세션 만료 간격을 설정할 수 있습니다. 세션 만료 간격은 데이터 흐름 클라이언트의 연결이 끊어지면 MQTT 세션이 유지되는 최대 시간입니다. 기본값은 600초입니다. 세션 만료 간격을 구성하려면 다음을 수행합니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 세션 만료 필드를 사용하여 세션 만료 간격을 지정합니다.
MQTT 또는 WebSockets 프로토콜
기본적으로 WebSockets는 사용하도록 설정되지 않습니다. WebSocket을 통해 MQTT를 사용하려면 필드를 WebSockets
.로 설정합니다protocol
.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 프로토콜 필드를 사용하여 프로토콜을 지정합니다.
최대 수신 메시지
데이터 흐름 MQTT 클라이언트가 가질 수 있는 최대 수신 메시지 수를 설정할 수 있습니다. 기본값은 100입니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 최대 진행 중인 메시지 필드를 사용하여 최대 수신 메시지 수를 지정합니다.
MQTT 엔드포인트가 원본으로 사용되는 경우 구독의 경우 수신 최대값입니다. MQTT 엔드포인트가 대상으로 사용되는 경우 게시의 경우 승인을 기다리기 전에 보낼 최대 메시지 수입니다.
연결 유지
데이터 흐름 MQTT 클라이언트에 대한 연결 유지 간격을 설정할 수 있습니다. 활성 유지 간격은 PINGREQ 메시지를 브로커에 보내기 전에 데이터 흐름 클라이언트가 유휴 상태일 수 있는 최대 시간입니다. 기본값은 60초입니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음, 연결 유지 필드를 사용하여 활성 유지 간격을 지정합니다.
CloudEvents
CloudEvents 는 이벤트 데이터를 일반적인 방식으로 설명하는 방법입니다. CloudEvents 설정은 CloudEvents 형식으로 메시지를 보내거나 받는 데 사용됩니다. 서로 다른 서비스가 동일하거나 다른 클라우드 공급자에서 서로 통신해야 하는 이벤트 기반 아키텍처에 CloudEvents를 사용할 수 있습니다.
cloudEventAttributes
옵션은 다음과CreateOrRemap
같습니다Propagate
. CloudEvents 설정을 구성하려면 다음을 수행합니다.
작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 클라우드 이벤트 특성 필드를 사용하여 CloudEvents 설정을 지정합니다.
다음 섹션에서는 CloudEvents 설정에 대한 자세한 정보를 제공합니다.
전파 설정
CloudEvent 속성은 필수 속성을 포함하는 메시지에 대해 전달됩니다. 메시지에 필수 속성이 포함되어 있지 않으면 메시지가 있는 그대로 전달됩니다.
속성 | Required | 샘플 값 | 출력 값 |
---|---|---|---|
specversion |
예 | 1.0 |
있는 그대로 전달됨 |
type |
예 | ms.aio.telemetry |
있는 그대로 전달됨 |
source |
예 | aio://mycluster/myoven |
있는 그대로 전달됨 |
id |
예 | A234-1234-1234 |
있는 그대로 전달됨 |
subject |
아니요 | aio/myoven/telemetry/temperature |
있는 그대로 전달됨 |
time |
아니요 | 2018-04-05T17:31:00Z |
있는 그대로 전달됩니다. 그것은 휴식되지 않습니다. |
datacontenttype |
아니요 | application/json |
선택적 변환 단계 이후 출력 데이터 콘텐츠 형식으로 변경되었습니다. |
dataschema |
아니요 | sr://fabrikam-schemas/123123123234234234234234#1.0.0 |
변환 구성 dataschema 에서 출력 데이터 변환 스키마가 지정된 경우 출력 스키마로 변경됩니다. |
CreateOrRemap 설정
CloudEvent 속성은 필수 속성을 포함하는 메시지에 대해 전달됩니다. 메시지에 필수 속성이 포함되어 있지 않으면 속성이 생성됩니다.
속성 | Required | 누락된 경우 생성된 값 |
---|---|---|
specversion |
예 | 1.0 |
type |
예 | ms.aio-dataflow.telemetry |
source |
예 | aio://<target-name> |
id |
예 | 대상 클라이언트에서 생성된 UUID |
subject |
아니요 | 메시지가 전송되는 출력 항목 |
time |
아니요 | 대상 클라이언트에서 RFC 3339로 생성됨 |
datacontenttype |
아니요 | 선택적 변환 단계 이후 출력 데이터 콘텐츠 형식으로 변경됨 |
dataschema |
아니요 | 스키마 레지스트리에 정의된 스키마 |
다음 단계
데이터 흐름에 대한 자세한 내용은 데이터 흐름 만들기를 참조 하세요.