다음을 통해 공유


Azure IoT 데이터 프로세서 미리 보기 파이프라인에서 데이터 필터링

Important

Azure IoT 작업 미리 보기 - Azure Arc에서 지원되는 Azure IoT 작업은 현재 미리 보기로 제공됩니다. 프로덕션 환경에서는 이 미리 보기 소프트웨어를 사용하면 안 됩니다.

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

필터 단계를 사용하여 파이프라인에서 추가 처리에 필요하지 않은 메시지를 필터링합니다. 이 단계에서는 필터 조건이 충족되면 원래 메시지를 필터 단계로 그대로 내보내고, 그렇지 않으면 파이프라인에서 메시지를 삭제합니다.

  • 각 파이프라인 파티션은 다른 파티션과 독립적으로 메시지를 필터링합니다.
  • 이 단계에서 필터링하지 않는 경우 필터 단계의 출력은 원래 메시지입니다.

필수 조건

필터 파이프라인 단계를 구성하고 사용하려면 Azure IoT 데이터 프로세서 미리 보기의 배포된 인스턴스가 필요합니다.

단계 구성

필터 단계 JSON 구성은 단계의 세부 정보를 정의합니다. 단계를 작성하려면 양식 기반 UI와 상호 작용하거나 고급 탭에서 JSON 구성을 제공할 수 있습니다.

속성 Required 기본값 예시
표시 이름 데이터 프로세서 UI에 표시할 이름입니다. - Filter1
설명 필터 단계에서 수행하는 작업에 대한 사용자에게 친숙한 설명입니다. 아니요 - Filter out anomalies
쿼리 jq 식 - .payload.temperature > 0 and .payload.pressure < 50

jq 식

데이터 프로세서의 필터 쿼리는 jq 언어를 사용하여 필터 조건을 정의합니다.

  • 쿼리에 제공된 jq는 구문적으로 유효해야 합니다.
  • 필터 쿼리의 결과는 부울 값이어야 합니다.
  • true로 평가되는 메시지는 추가 처리를 위해 필터 단계에서 후속 단계로 변경되지 않고 내보내집니다. false로 평가되는 메시지는 파이프라인에서 삭제됩니다.
  • 필터가 부울 결과를 반환하지 않는 모든 메시지는 오류 사례로 처리되고 파이프라인에서 삭제됩니다.
  • 필터 단계는 jq 식 가이드에 정의된 것과 동일한 jq 사용 제한을 준수합니다.

필터 단계에서 사용할 필터 쿼리를 만드는 경우 다음을 수행하세요.

  • 메시지를 사용하여 필터 쿼리를 테스트하여 부울 결과가 반환되는지 확인합니다.
  • 메시지가 필터 단계에 도착하는 방법에 따라 필터 쿼리를 구성합니다.
  • 필터 식을 빌드하는 방법에 대한 자세한 내용은 jq 식 가이드를 참조하세요.

샘플 구성

다음 JSON 예제에서는 전체 필터 단계 구성을 보여 줍니다.

{ 
    "displayName": "Filter name", 
    "description": "Filter description", 
    "query": "(.properties.responseTopic | contains(\"bar\")) or (.properties.responseTopic | contains(\"baz\")) and (.payload | has(\"temperature\")) and (.payload.temperature > 0)"
}

이 필터는 .properties.responseTopicbar 또는 baz를 포함하고 메시지 페이로드에 값이 0보다 큰 temperature라는 속성이 있는 메시지를 확인합니다.