다음을 통해 공유


InfluxDB v2 원본 단계 구성

Important

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

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

원본 스테이지는 Azure IoT 데이터 프로세서(미리 보기) 파이프라인의 첫 번째 필수 스테이지입니다. 원본 스테이지는 데이터를 데이터 처리 파이프라인으로 가져오고 추가 처리를 위해 준비합니다. InfluxDB 원본 단계를 사용하면 사용자가 정의한 간격으로 InfluxDB v2 데이터베이스에서 데이터를 읽을 수 있습니다.

원본 스테이지에서는 다음을 정의합니다.

  • InfluxDB v2에 대한 연결 세부 정보.
  • InfluxDB 데이터베이스를 쿼리하는 간격. 스테이지는 간격 타이머를 다시 설정하기 전에 결과를 기다립니다.
  • 특정 데이터 처리 요구 사항에 따른 분할 구성.

필수 조건

  • 데이터 프로세서의 작동 인스턴스가 배포됩니다.
  • 필요한 모든 원시 데이터가 포함된 InfluxDB 데이터베이스가 작동하며 연결할 수 있습니다.

Influx 데이터베이스 준비

InfluxDB 데이터베이스에 연결하려면 다음을 수행해야 합니다.

  • InfluxDB 데이터베이스에 대한 파이프라인 읽기 권한을 부여하는 액세스 토큰을 만듭니다. 자세한 내용은 API 토큰 관리를 참조하세요.
  • 액세스 토큰이 포함된 Azure Key Vault에 비밀을 만듭니다. 자세히 알아보려면 Azure IoT 작업 배포에 대한 비밀 관리를 참조하세요.

InfluxDB 원본 구성

InfluxDB 원본을 구성하려면 다음을 수행합니다.

  • InfluxDB 데이터베이스의 세부 정보를 제공합니다. 이 구성에는 서버 이름과 데이터를 검색하는 쿼리가 포함됩니다.
  • 인증 방법을 지정합니다. 현재는 액세스 토큰 인증만 사용할 수 있습니다.

다음 표에는 InfluxDB 원본 구성 매개 변수가 설명되어 있습니다.

입력 구성의 기본 스키마는 다음으로 구성됩니다.

필드 형식 설명 필수 여부 기본값 예시
이름 문자열 원본 스테이지의 고객이 볼 수 있는 이름입니다. Required 해당 없음 erp-database
설명 문자열 원본 스테이지에 대한 고객이 볼 수 있는 설명입니다. 선택 사항 해당 없음 Enterprise database
데이터베이스 URL 문자열 InfluxDB 데이터베이스의 URL https://contoso.com/some/url/path
데이터베이스 포트 정수 InfluxDB 데이터베이스 포트 아니요 443 443
조직 문자열 쿼리할 버킷을 보유하고 있는 조직 test-org test-org
인증 Authentication type 서버에 연결하기 위한 인증 방법입니다. accessToken 형식만 지원합니다. {"type": "accessToken"} {"type": "accessToken"}
암호 문자열 Azure Key Vault에 저장된 토큰에 대한 참조입니다. AKV_ACCESS_TOKEN
Flux 쿼리 문자열 InfluxDB 쿼리 {"expression": 'from(bucket:"test-bucket")\|> range(start: -1h) \|> filter(fn: (r) => r._measurement == "stat")'}
쿼리 간격 기간 다음 API 호출 전 대기 시간을 문자열로 표현한 것입니다. 24h
데이터 형식 형식 스테이지는 쿼리로 쿼리된 개별 행에 형식을 적용합니다. json 형식만 지원됩니다. 최상위 수준 path는 지원되지 않습니다. {"type": "json"}
분할 분할 원본 스테이지의 분할 구성입니다. Required 해당 없음 파티션 나누기를 참조하세요.

분할 구성

파이프라인에서 분할하면 들어오는 데이터를 별도의 파티션으로 나눕니다. 분할을 사용하면 파이프라인에서 데이터 병렬 처리를 통해 처리량을 개선하고 대기 시간을 줄일 수 있습니다. 분할 전략은 파이프라인의 다른 스테이지에서 데이터가 처리되는 방식에 영향을 미칩니다. 예를 들어 마지막으로 알려진 값 스테이지 및 집계 스테이지는 각 논리 파티션에서 작동합니다.

데이터를 분할하려면 분할 전략과 사용할 파티션 수를 지정합니다.

필드 설명 필수 항목 기본값 예시
파티션 유형 사용할 분할 유형: 파티션 ID 또는 파티션 Key Required ID ID
파티션 식 들어오는 메시지에서 파티션 ID 또는 파티션 Key를 계산하는 데 사용할 jq 식 입니다. Required 0 .payload.header
파티션 수 데이터 프로세서 파이프라인의 파티션 수입니다. Required 1 1

데이터 프로세서는 들어오는 메시지에 메타데이터를 추가합니다. 들어오는 메시지에서 실행되는 분할 식을 올바르게 지정하는 방법을 이해하려면 데이터 프로세서 메시지 구조 개요를 참조하세요. 기본적으로 파티션 식은 들어오는 모든 데이터를 단일 파티션으로 보내기 위해 ID파티션 형식을 가진 0으로 설정됩니다.

권장 사항 및 자세한 내용은 분할이란?을 참조하세요.

샘플 구성

다음 JSON 예는 전체 InfluxDB 원본 단계 구성을 보여 줍니다.

{
  "displayName": "InfluxDB v2 - ec8750",
  "type": "input/influxdbv2@v1",
  "query": {
    "expression": "from(bucket:\\\"test-bucket\\\") |> range(start: -1h) |> filter(fn: (r) => r._measurement == \\\"stat\\\")"
  },
  "url": "https://contoso.com/some/url/path",
  "interval": "5s",
  "port": 443,
  "organization": "test-org",
  "format": {
    "type": "json"
  },
  "partitionCount": 1,
  "partitionStrategy": {
    "type": "id",
    "expression": "0"
  },
  "authentication": {
    "type": "accessToken",
    "accessToken": "AKV_ACCESS_TOKEN"
  },
  "description": "Example InfluxDB source stage"
}