다음을 통해 공유


MQTT 데이터 흐름 엔드포인트 구성

중요

이 페이지에는 미리 보기 상태인 Kubernetes 배포 매니페스트를 사용하여 Azure IoT 작업 구성 요소를 관리하는 방법에 대한 지침이 포함되어 있습니다. 이 기능은 여러 제한 사항을 가지고 있으므로 프로덕션 워크로드에는 사용하면 안 됩니다.

베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.

MQTT 데이터 흐름 엔드포인트는 MQTT 원본과 대상에 사용됩니다. 엔드포인트 설정, TLS(전송 계층 보안), 인증 및 기타 설정을 구성할 수 있습니다.

필수 구성 요소

Azure IoT 작업 로컬 MQTT 브로커

Azure IoT 작업은 데이터 흐름과 함께 사용할 수 있는 기본 제공 로컬 MQTT 브로커를 제공합니다. MQTT 브로커를 원본으로 사용하여 다른 시스템으로부터 메시지를 수신하거나, 대상으로 사용하여 다른 시스템으로 메시지를 보낼 수 있습니다.

기본 엔드포인트

Azure IoT 작업을 배포하면 "기본"이라는 이름의 MQTT 브로커 데이터 흐름 엔드포인트가 기본 설정으로 만들어집니다. 이 엔드포인트를 데이터 흐름의 원본 또는 대상으로 사용할 수 있습니다.

중요

모든 데이터 흐름에서 기본 엔드포인트 또는 동일한 설정을 가진 엔드포인트를 사용해야 합니다. 원본, 대상 또는 둘 다일 수 있습니다. 자세한 내용은 데이터 흐름은 로컬 MQTT 브로커 엔드포인트를 사용해야 함을 참조하세요.

기본 엔드포인트는 다음 설정을 사용합니다.

주의

기본 엔드포인트를 삭제하지 마세요. 기본 엔드포인트를 삭제한 경우 동일한 설정으로 다시 만들어야 합니다.

기본 MQTT 브로커 엔드포인트 설정을 보거나 편집하려면:

  1. 운영 환경에서 데이터 흐름 엔드포인트를 선택합니다.

  2. 설정을 보거나 편집하려면 기본 엔드포인트를 선택합니다.

    운영 환경을 사용하여 기본 MQTT 데이터 흐름 엔드포인트를 확인하는 것을 보여 주는 스크린샷.

새 엔드포인트 만들기

사용자 지정 설정으로 새로운 로컬 MQTT 브로커 엔드포인트를 만들 수도 있습니다. 예를 들어, 다른 포트, 인증 또는 권한 부여 설정을 사용하여 새로운 MQTT 브로커 엔드포인트를 만들 수 있습니다. 그러나 새로운 엔드포인트를 만드는 경우에도 항상 기본 엔드포인트를 모든 데이터 흐름의 원본 또는 대상으로 사용해야 합니다.

  1. 운영 환경에서 데이터 흐름 엔드포인트를 선택합니다.

  2. 새 데이터 흐름 엔드포인트 만들기에서 Azure IoT 작업 로컬 MQTT>새로 만들기를 선택합니다.

    운영 환경을 활용하여 새로운 로컬 MQTT 데이터 흐름 엔드포인트를 만드는 스크린샷.

    엔드포인트에 대해 다음 설정을 입력합니다.

    설정 설명
    이름 데이터 흐름 엔드포인트의 이름입니다.
    호스트 MQTT 브로커의 호스트 이름과 포트입니다. <hostname>:<port> 형식 사용
    인증 방법 인증에 사용되는 방법입니다. 서비스 계정 토큰 또는 X509 인증서를 선택합니다.
    서비스 대상 그룹 서비스 계정 토큰의 대상 그룹입니다. 서비스 계정 토큰을 사용하는 경우 필요합니다.
    X509 클라이언트 인증서 인증에 사용되는 X.509 클라이언트 인증서입니다. X509 인증서를 사용하는 경우 필요합니다. 업계 표준 다중 라인 X509 인증서를 업로드하여 디바이스 인증 관리, 보안 및 유연성을 개선할 수 있습니다.
    X509 클라이언트 키 X.509 클라이언트 인증서에 해당하는 프라이빗 키입니다. X509 인증서를 사용하는 경우 필요합니다.
    X509 중간 인증서 X.509 클라이언트 인증서 체인에 대한 중간 인증서입니다. X509 인증서를 사용하는 경우 필요합니다.

Azure Event Grid

Azure Event Grid는 Azure IoT 작업 데이터 흐름과 작동하는 완전 관리형 MQTT 브로커를 제공합니다. Azure Event Grid MQTT 브로커 엔드포인트를 구성하려면 인증에 관리 ID를 사용하는 것이 좋습니다.

Event Grid 네임스페이스 구성

아직 하지 않았다면 먼저 Event Grid 네임스페이스를 만듭니다.

MQTT 사용

Event Grid 네임스페이스가 있으면 구성으로 이동하여 다음을 확인합니다.

  • MQTT 사용: 확인란을 선택합니다.
  • 인증 이름당 최대 클라이언트 세션: 3 이상으로 설정합니다.

최대 클라이언트 세션 옵션은 데이터 흐름이 스케일 업되고도 계속 연결할 수 있도록 하는 데 중요합니다. 자세한 내용은 Event Grid MQTT 다중 세션 지원을 참조하세요.

토픽 공간 만들기

데이터 흐름이 Event Grid MQTT 브로커로 메시지를 보내거나 받으려면 Event Grid 네임스페이스에 하나 이상의 항목 공간을 만들어야 합니다. 항목 공간>새 항목 공간을 선택하여 Event Grid 네임스페이스에서 항목 공간을 만들 수 있습니다.

빠르게 시작하고 테스트하려면 와일드카드 항목 #을 항목 템플릿으로 사용하여 항목 공간을 만들 수 있습니다.

관리 ID에 권한 할당

Event Grid MQTT 브로커에 대한 데이터 흐름 엔드포인트를 구성하려면 사용자가 할당한 관리 ID나 시스템이 할당한 관리 ID를 사용하는 것이 좋습니다. 이러한 방식은 안전하며 자격 증명을 수동으로 관리할 필요성을 없애줍니다.

엔터티 공간을 만든 후에는 Azure IoT 작업 관리 ID에 Event Grid MQTT 브로커에 메시지를 보내거나 받을 수 있는 권한을 부여하는 역할을 할당해야 합니다.

시스템이 할당한 관리 ID를 사용하는 경우 Azure Portal에서 Azure IoT 작업 인스턴스로 이동하여 개요를 선택합니다. Azure IoT 작업 Arc 확장 뒤에 나열된 확장 이름을 복사합니다. 예를 들어, azure-iot-operations-xxxx7입니다. 시스템이 할당한 관리 ID는 Azure IoT 작업 Arc 확장과 동일한 이름을 사용하여 찾을 수 있습니다.

그런 다음 Event Grid 네임스페이스 >액세스 제어(IAM)>역할 할당 추가로 이동합니다.

  1. 역할 탭에서 EventGrid TopicSpaces Publisher 또는 EventGrid TopicSpaces Subscriber와 같은 적절한 역할을 선택합니다. 이를 통해 관리 ID에는 네임스페이스의 모든 엔터티 공간에 대한 메시지를 보내거나 받는 데 필요한 권한이 부여됩니다. 자세한 내용은 MQTT 메시지 게시 또는 구독을 위한 Microsoft Entra JWT 인증 및 Azure RBAC 권한 부여를 참조하세요.
  2. 멤버 탭에서:
    1. 시스템이 할당한 관리 ID를 사용하는 경우 액세스 권한 할당에서 사용자, 그룹 또는 서비스 주체 옵션을 선택한 다음 + 멤버 선택을 ​​선택하고 Azure IoT 작업 Arc 확장의 이름을 검색합니다.
    2. 사용자가 할당한 관리 ID를 사용하는 경우 액세스 권한 할당에서 관리 ID 옵션을 선택한 다음 + 멤버 선택을 ​​선택하고 클라우드 연결을 위해 설정된 사용자 할당 관리 ID를 검색합니다.

또는 항목 공간 수준에서 역할을 할당할 수 있습니다. 항목 공간 >액세스 제어(IAM)>역할 할당 추가로 이동합니다. EventGrid TopicSpaces Publisher 또는 EventGrid TopicSpaces Subscriber와 같은 적절한 역할로 관리 ID를 할당합니다. 이를 통해 관리 ID에 특정 엔터티 공간에 대한 메시지를 보내거나 받는 데 필요한 권한이 부여됩니다.

참고

동일한 데이터 흐름 구성을 사용하는 두 번째 배포에서는 연결할 수 없으며 권한 부여 오류가 발생합니다. 이 문제를 해결하려면 두 번째 구성에서 데이터 흐름 이름을 변경합니다. 이 문제는 두 번째 배포가 첫 번째 배포와 동시에 발생하거나 MQTT 세션이 만료될 때까지 바로 발생한 경우에만 발생합니다.

Event Grid MQTT 브로커에 대한 데이터 흐름 엔드포인트 만들기

Event Grid 네임스페이스가 구성되면 Event Grid MQTT 브로커에 대한 데이터 흐름 엔드포인트를 만들 수 있습니다.

  1. 운영 환경에서 데이터 흐름 엔드포인트 탭을 선택합니다.

  2. 새 데이터 흐름 엔드포인트 만들기에서 Azure Event Grid MQTT>새로 만들기를 선택합니다.

    Azure Event Grid 엔드포인트를 만들기 위해 운영 환경을 사용하는 것을 보여 주는 스크린샷.

    엔드포인트에 대해 다음 설정을 입력합니다.

    설정 설명
    이름 데이터 흐름 엔드포인트의 이름입니다.
    호스트 Event Grid MQTT 브로커의 호스트 이름과 포트입니다. <NAMESPACE>.<REGION>-1.ts.eventgrid.azure.net:8883 형식 사용
    인증 방법 인증에 사용되는 방법입니다. 시스템이 할당한 관리 ID 또는 사용자가 할당한 관리 ID를 선택하는 것이 좋습니다.
  3. 적용을 선택하여 엔드포인트를 프로비전합니다.

엔드포인트가 만들어지면 데이터 흐름에서 이를 사용하여 Event Grid MQTT 브로커에 원본 또는 대상으로 연결할 수 있습니다. MQTT 항목은 데이터 흐름에서 구성됩니다.

Event Grid에서 X.509 인증서 인증 사용

Event Grid MQTT 브로커와 함께 X.509 인증을 사용하는 경우 Event Grid 네임스페이스 >구성으로 이동하여 다음 설정을 확인합니다.

  • MQTT 사용: 확인란을 선택합니다.
  • 대체 클라이언트 인증 이름 원본 사용: 확인란을 선택합니다.
  • 인증서 주체 이름: 드롭다운 목록에서 이 옵션을 선택합니다.
  • 인증 이름당 최대 클라이언트 세션: 3 이상으로 설정합니다.

대체 클라이언트 인증 및 최대 클라이언트 세션 옵션을 사용하면 데이터 흐름에서 MQTT CONNECT Username 대신 클라이언트 인증서 주체 이름을 인증에 사용할 수 있습니다. 이 기능은 데이터 흐름이 여러 인스턴스를 생성하면서도 여전히 연결할 수 있도록 하는 데 중요합니다. 자세한 내용은 Event Grid MQTT 클라이언트 인증서 인증다중 세션 지원을 참조하세요.

그런 다음 X.509 인증서의 단계에 따라 X.509 인증서 설정으로 엔드포인트를 구성합니다.

Event Grid 공유 구독 제한 사항

Azure Event Grid MQTT 브로커는 공유 구독을 지원하지 않습니다. 즉, Event Grid가 데이터 흐름의 원본(데이터 흐름이 메시지를 구독하는 곳)으로 사용되는 경우 데이터 흐름 프로필에서 instanceCount1 이상으로 설정할 수 없습니다. 이 경우 instanceCount1보다 크게 설정하면 데이터 흐름이 시작되지 않습니다.

사용자 지정 MQTT 브로커

기타 MQTT 브로커의 경우 필요에 따라 엔드포인트, TLS, 인증 및 기타 설정을 구성할 수 있습니다.

  1. 운영 환경에서 데이터 흐름 엔드포인트 탭을 선택합니다.

  2. 새 데이터 흐름 엔드포인트 만들기에서 사용자 지정 MQTT 브로커>새로 만들기를 선택합니다.

    운영 환경을 활용하여 사용자 지정 MQTT 브로커 엔드포인트를 만드는 스크린샷.

  3. 엔드포인트에 대해 다음 설정을 입력합니다.

    설정 설명
    이름 데이터 흐름 엔드포인트의 이름
    호스트 <hostname>.<port> 형식의 MQTT 브로커 엔드포인트의 호스트 이름입니다.
    인증 방법 인증에 사용되는 방법입니다. 서비스 계정 토큰 또는 X509 인증서를 선택합니다.
    서비스 대상 그룹 서비스 계정 토큰의 대상 그룹입니다. 서비스 계정 토큰을 사용하는 경우 필요합니다.
    X509 클라이언트 인증서 인증에 사용되는 X.509 클라이언트 인증서입니다. X509 인증서를 사용하는 경우 필요합니다. 업계 표준 다중 라인 X509 인증서를 업로드하여 디바이스 인증 관리, 보안 및 유연성을 개선할 수 있습니다.
    X509 클라이언트 키 X.509 클라이언트 인증서에 해당하는 프라이빗 키입니다. X509 인증서를 사용하는 경우 필요합니다.
    X509 중간 인증서 X.509 클라이언트 인증서 체인에 대한 중간 인증서입니다. X509 인증서를 사용하는 경우 필요합니다.
  4. 적용을 선택하여 엔드포인트를 프로비전합니다.

MQTT 엔드포인트 설정을 사용자 지정하려면 자세한 내용은 다음 섹션을 참조하세요.

사용 가능한 인증 방법

다음 인증 방법은 MQTT 브로커 데이터 흐름 엔드포인트에 사용할 수 있습니다.

시스템이 할당한 관리 ID

데이터 흐름 엔드포인트를 구성하기 전에 MQTT 브로커에 연결할 수 있는 권한을 부여하는 역할을 Azure IoT 작업 관리 ID에 할당합니다.

  1. Azure Portal에서 Azure IoT 작업 인스턴스로 이동하여 개요를 선택합니다.
  2. Azure IoT 작업 Arc 확장 뒤에 나열된 확장 이름을 복사합니다. 예를 들어, azure-iot-operations-xxxx7입니다.
  3. 권한을 부여해야 하는 클라우드 리소스로 이동합니다. 예를 들어, Event Grid 네임스페이스 >액세스 제어(IAM)>역할 할당 추가로 이동합니다.
  4. 역할 탭에서 적절한 역할을 선택합니다.
  5. 멤버 탭에서 액세스 권한 할당에 대해 사용자, 그룹 또는 서비스 주체 옵션을 선택한 다음 + 멤버 선택을 선택하고 Azure IoT 작업 관리 ID를 검색합니다. 예를 들어, azure-iot-operations-xxxx7입니다.

그런 다음 시스템이 할당한 관리 ID 설정으로 데이터 흐름 엔드포인트를 구성합니다.

운영 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음 인증 방법>시스템이 할당한 관리 ID를 선택합니다.

사용자 할당 관리 ID

사용자가 할당한 관리 ID를 인증에 사용하려면 먼저 보안 설정을 사용하도록 설정하여 Azure IoT 작업을 배포해야 합니다. 그런 다음 클라우드 연결을 위한 사용자 할당 관리 ID를 설정해야 합니다. 자세한 내용은 Azure IoT 작업 배포에서 보안 설정 사용을 참조하세요.

데이터 흐름 엔드포인트를 구성하기 전에 MQTT 브로커에 연결할 수 있는 권한을 부여하는 역할을 사용자가 할당한 관리 ID에 할당합니다.

  1. Azure Portal에서 권한을 부여해야 하는 클라우드 리소스로 이동합니다. 예를 들어, Event Grid 네임스페이스 >액세스 제어(IAM)>역할 할당 추가로 이동합니다.
  2. 역할 탭에서 적절한 역할을 선택합니다.
  3. 멤버 탭에서 액세스 권한 할당에 대해 관리 ID 옵션을 선택한 다음 +멤버 선택을 선택하고 사용자가 할당한 관리 ID를 검색합니다.

그런 다음 사용자가 할당한 관리 ID 설정으로 데이터 흐름 엔드포인트를 구성합니다.

운영 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음 인증 방법>사용자가 할당한 관리 ID를 선택합니다.

KUbernetes SAT(서비스 계정 토큰)

인증에 Kubernetes SAT(서비스 계정 토큰)를 사용하려면 비밀을 만들 필요가 없습니다. SAT는 대상 그룹을 일치시켜 MQTT 브로커를 사용하여 인증하는 데 사용됩니다.

운영 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음 인증 방법>서비스 계정 토큰을 선택합니다.

서비스 대상 그룹 고객이 등장했습니다.

X.509 인증서

Event Grid와 같은 많은 MQTT 브로커는 X.509 인증을 지원합니다. 데이터 흐름은 클라이언트 X.509 인증서를 제시하고 TLS 통신을 협상할 수 있습니다.

인증서와 프라이빗 키는 PEM 형식이어야 하며 암호로 보호되어서는 안 됩니다.

PEM 형식은 인증서와 키의 일반적인 형식입니다. PEM 형식의 인증서와 키는 -----BEGIN CERTIFICATE----------BEGIN EC PRIVATE KEY----와 같은 헤더가 있는 base64로 인코딩된 ASCII 파일입니다.

다른 형식의 인증서가 있는 경우 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_cert.pemclient_key.pem을 가져야 합니다. 선택적으로 비밀은 중간 인증서의 키 이름으로 client_intermediate_certs.pem을 가질 수도 있습니다.

중요

운영 환경 웹 UI를 사용하여 비밀을 관리하려면 먼저 Azure Key Vault를 구성하고 워크로드 ID를 사용하도록 설정하여 보안 설정으로 Azure IoT 작업을 사용하도록 설정해야 합니다. 자세한 내용은 Azure IoT 작업 배포에서 보안 설정 사용을 참조하세요.

중요

현재 운영 환경 웹 UI에는 X.509 비밀을 만들면 잘못 인코딩된 데이터가 포함된 비밀이 만들어지는 알려진 문제가 있습니다. 자세한 내용과 해결 방법을 알아보려면 알려진 문제를 참조하세요.

운영 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음 인증 방법>X509 인증서를 선택합니다.

여기에서 동기화된 비밀 이름에 비밀 이름을 입력합니다. 이 이름은 데이터 흐름 엔드포인트 설정에서 비밀을 참조하는 데 사용되며 Kubernetes 클러스터에 저장된 비밀의 이름입니다.

그런 다음 X509 클라이언트 인증서, X509 클라이언트 키X509 중간 인증서에서 참조 추가를 선택하여 인증서, 프라이빗 키 및 중간 인증서를 추가합니다. 다음 페이지에서 Azure Key Vault에서 추가 또는 새로 만들기 비밀을 사용하여 Azure Key Vault의 비밀을 선택합니다.

새로 만들기를 선택한 경우 다음 설정을 입력합니다.

설정 설명
비밀 이름 Azure Key Vault의 비밀 이름입니다. 나중에 목록에서 비밀을 선택할 때 기억하기 쉬운 이름을 선택합니다.
비밀 값 PEM 형식의 인증서, 프라이빗 키 또는 중간 인증서입니다. 업계 표준 다중 라인 X509 인증서를 업로드하여 디바이스 인증 관리, 보안 및 유연성을 개선할 수 있습니다.
활성화 날짜 설정 켜져 있는 경우, 비밀이 활성화되는 날짜입니다.
만료 날짜 설정 켜져 있는 경우, 비밀이 만료되는 날짜입니다.

비밀에 대해 자세히 알아보려면 Azure IoT 작업에서 비밀 만들기 및 관리를 참조하세요.

익명

익명 인증을 사용하려면 인증 방법을 Anonymous로 설정합니다.

작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 기본 탭을 선택한 다음 인증 방법>없음을 선택합니다.

고급 설정

TLS, 신뢰할 수 있는 CA 인증서, MQTT 메시징 설정, CloudEvents와 같은 MQTT 브로커 데이터 흐름 엔드포인트에 대한 고급 설정을 지정할 수 있습니다. 이러한 설정은 데이터 흐름 엔드포인트 사용자 지정 리소스 내의 데이터 흐름 엔드포인트 고급 포털 탭에서 설정할 수 있습니다.

운영 환경에서 데이터 흐름 엔드포인트에 대한 고급 탭을 선택합니다.

TLS 설정

TLS 모드

MQTT 엔드포인트에 대해 TLS를 사용하거나 사용하지 않도록 설정하려면 TLS 설정에서 mode 설정을 업데이트합니다.

운영 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 TLS 모드 사용 옆에 있는 확인란을 사용합니다.

TLS 모드는 Enabled 또는 Disabled로 설정할 수 있습니다. 모드가 Enabled로 설정된 경우 데이터 흐름은 MQTT 브로커에 대한 보안 연결을 사용합니다. 모드가 Disabled로 설정된 경우 데이터 흐름은 MQTT 브로커에 대한 안전하지 않은 연결을 사용합니다.

신뢰할 수 있는 CA 인증서

MQTT 브로커에 대한 보안 연결을 설정하려면 MQTT 엔드포인트에 대한 신뢰할 수 있는 CA 인증서를 구성합니다. 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 브로커에 연결할 때 CA 인증서가 필요하지 않습니다. Event Hubs 서비스는 기본적으로 신뢰할 수 있는 공용 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 브리지 시나리오에서.

중요

Azure Event Grid MQTT 브로커는 현재 보존 플래그를 지원하지 않습니다. 즉, Event Grid MQTT 브로커 엔드포인트에 대해 보존 플래그를 Keep로 설정하고 이를 대상으로 사용하는 경우 메시지가 거부됩니다. 이를 방지하려면 Event Grid MQTT 브로커를 대상으로 사용할 때 보존 플래그를 Never로 설정합니다.

세션 만료

데이터 흐름 MQTT 클라이언트에 대한 세션 만료 간격을 설정할 수 있습니다. 세션 만료 간격은 데이터 흐름 클라이언트가 연결을 끊었을 때 MQTT 세션이 유지되는 최대 시간입니다. 기본값은 600초입니다. 세션 만료 간격을 구성하려면:

작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 세션 만료 필드를 사용하여 세션 만료 간격을 지정합니다.

MQTT 또는 WebSockets 프로토콜

기본적으로 WebSockets는 사용하도록 설정되어 있지 않습니다. WebSockets를 통해 MQTT를 사용하려면 protocol 필드를 WebSockets로 설정합니다.

작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 프로토콜 필드를 사용하여 프로토콜을 지정합니다.

최대 처리 중인 메시지

데이터 흐름 MQTT 클라이언트가 가질 수 있는 최대 처리 중인 메시지 수를 설정할 수 있습니다. 기본값은 100입니다.

작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 최대 처리 중인 메시지 필드를 사용하여 처리 중인 메시지의 최대 수를 지정합니다.

MQTT 엔드포인트가 원본으로 사용되는 경우 구독의 경우 이는 수신 최댓값입니다. MQTT 엔드포인트가 대상으로 사용되는 게시의 경우, 이는 승인을 기다리기 전에 보낼 최대 메시지 수입니다.

연결 유지

데이터 흐름 MQTT 클라이언트에 대한 연결 유지 간격을 설정할 수 있습니다. 연결 유지 간격은 PINGREQ 메시지를 브로커에 보내기 전에 데이터 흐름 클라이언트가 유휴 상태를 유지할 수 있는 최대 시간입니다. 기본값은 60초입니다.

작업 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 활성 유지 필드를 사용하여 활성 유지 간격을 지정합니다.

CloudEvents

CloudEvents는 이벤트 데이터를 일반적인 방식으로 설명하는 방법입니다. CloudEvents 설정은 CloudEvents 형식으로 메시지를 보내거나 받는 데 사용됩니다. 서로 다른 서비스가 동일하거나 다른 클라우드 공급자 내에서 서로 통신해야 하는 이벤트 기반 아키텍처에 CloudEvents를 사용할 수 있습니다.

cloudEventAttributes 옵션은 Propagate 또는 CreateOrRemap입니다. CloudEvents 설정을 구성하려면:

운영 환경 데이터 흐름 엔드포인트 설정 페이지에서 고급 탭을 선택한 다음 클라우드 이벤트 특성 필드를 사용하여 CloudEvents 설정을 지정합니다.

다음 섹션에서는 CloudEvents 설정에 대한 자세한 정보를 제공합니다.

전파 설정

CloudEvent 속성은 필요한 속성이 포함된 메시지에 대해 전달됩니다. 메시지에 필요한 속성이 포함되어 있지 않으면 메시지는 그대로 전달됩니다.

이름 필수 샘플 값 출력 값
specversion 1.0 있는 그대로 전달됨
type ms.aio.telemetry 있는 그대로 전달됨
source aio://mycluster/myoven 있는 그대로 전달됨
id A234-1234-1234 있는 그대로 전달됨
subject 아니요 aio/myoven/sensor/temperature 있는 그대로 전달됨
time 아니요 2018-04-05T17:31:00Z 있는 그대로 전달됨. 다시 스탬프가 지정되지 않았습니다.
datacontenttype 아니요 application/json 선택적 변환 단계 후에 출력 데이터 콘텐츠 형식으로 변경되었습니다.
dataschema 아니요 sr://fabrikam-schemas/123123123234234234234234#1.0.0 변환 구성에 출력 데이터 변환 스키마가 지정된 경우 dataschema가 출력 스키마로 변경됩니다.

CreateOrRemap 설정

CloudEvent 속성은 필요한 속성이 포함된 메시지에 대해 전달됩니다. 메시지에 필요한 속성이 포함되어 있지 않으면 속성이 생성됩니다.

이름 필수 누락된 경우 생성된 값
specversion 1.0
type ms.aio-dataflow.telemetry
source aio://<target-name>
id 대상 클라이언트에서 생성된 UUID
subject 아니요 메시지가 전송되는 출력 항목
time 아니요 대상 클라이언트에서 RFC 3339로 생성됨
datacontenttype 아니요 선택적 변환 단계 후 출력 데이터 콘텐츠 형식으로 변경됨
dataschema 아니요 스키마 레지스트리에 정의된 스키마

다음 단계

데이터 흐름에 대해 자세히 알아보려면 데이터 흐름 만들기를 참조하세요.