Skip to content

스크립트 개발 / 커넥터 객체 DFF.CONN / TrueWatch

TrueWatch 커넥터 작업 객체는 주로 데이터 쓰기를 위한 DataWay 객체와 OpenAPI의 래퍼를 제공합니다.

이 커넥터의 API Key에는 Administrator 역할이 필요합니다

본 커넥터는 워크스페이스 Token 등 민감한 정보를 자동으로 획득하여 후속 데이터 보고 등의 작업에 사용됩니다.

따라서 API Key에 Administrator 역할을 할당해야 합니다.

DFF.CONN(...) 매개변수는 다음과 같습니다:

매개변수 유형 필수 / 기본값 설명
connector_id str 필수 커넥터 ID
timeout int/float 10 현재 작업 객체의 기본 HTTP 요청 타임아웃(초)

OpenAPI 문서는 다음을 참조하십시오:

.dataway

dataway 속성은 현재 TrueWatch에 해당하는 DataWay 작업 객체로, 직접 생성한 DataWay 커넥터 작업 객체와 사용 방법이 동일합니다.

예시
1
status_code, result = truewatch.dataway.write_by_category(category='metric', measurement='서비스 모니터링', tags={'service': 'mysql'}, fields={'mem': 10})

전체 내용은 다음을 참조하십시오:

.is_api_key_valid / .is_api_key_match

is_api_key_valid 속성은 현재 커넥터의 API Key가 유효한지 여부를 반환합니다; is_api_key_match는 이전 이름의 호환 별칭입니다.

예시
1
print(truewatch.is_api_key_valid)
출력 예시
1
True

.workspace

workspace 속성은 현재 워크스페이스 정보를 반환합니다:

예시
1
2
import json
print(json.dumps(truewatch.workspace, indent=2))
출력 예시
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "uuid"        : "wksp_xxxxx",
  "name"        : "xxxxx",
  "rpName"      : "rp2",
  "language"    : "en",
  "timezone"    : "",
  "bossStation" : "HK",
  "billingState": "normal",
  "versionType" : "pay",
  "token"       : "tkn_xxxxx",
  "cliToken"    : "wkcli_xxxxx",
  "<기타 필드 생략>": "..."
}

.workspace_uuid

workspace_uuid 속성은 현재 워크스페이스 UUID를 반환합니다:

예시
1
print(truewatch.workspace_uuid)
출력 예시
1
wksp_xxxxx

.workspace_token

workspace_token 속성은 현재 워크스페이스 Token을 반환합니다:

예시
1
print(truewatch.workspace_token)
출력 예시
1
tkn_xxxxx

.workspace_language

workspace_language 속성은 현재 워크스페이스 언어를 반환합니다:

예시
1
print(truewatch.workspace_language)
출력 예시
1
en

.do_get(...)

TrueWatch OpenAPI에 GET 요청을 보내는 데 사용됩니다. 매개변수는 다음과 같습니다:

매개변수 유형 필수 / 기본값 설명
path str 필수 OpenAPI 경로
query dict None URL 쿼리 매개변수
timeout int/float None 이번 요청의 타임아웃 시간, 생략 시 작업 객체의 기본값 사용
예시
1
2
3
4
import json

result = truewatch.do_get('/api/v1/workspace/get')
print(json.dumps(result, indent=2))
출력 예시
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
  "content": {
    "uuid"        : "wksp_xxxxx",
    "name"        : "xxxxx",
    "rpName"      : "rp1",
    "language"    : "en",
    "timezone"    : "",
    "bossStation" : "HK",
    "billingState": "normal",
    "versionType" : "pay",
    "token"       : "tkn_xxxxx",
    "cliToken"    : "wkcli_xxxxx",
    "<기타 필드 생략>": "..."
  }
}

이 메서드는 OpenAPI의 전체 응답 객체를 반환하며 content를 자동으로 추출하지 않습니다. HTTP 상태 코드가 400 이상이면 예외가 발생합니다.

.do_post(...)

TrueWatch OpenAPI에 POST 요청을 보내는 데 사용됩니다. 매개변수는 다음과 같습니다:

매개변수 유형 필수 / 기본값 설명
path str 필수 OpenAPI 경로
query dict None URL 쿼리 매개변수
body dict None JSON 요청 본문
timeout int/float None 이번 요청의 타임아웃 시간, 생략 시 작업 객체의 기본값 사용
예시
1
2
3
4
body = {
    'name': '새 이름'
}
result = truewatch.do_post('/api/v1/workspace/modify', body=body)

이 메서드는 OpenAPI의 전체 응답 객체를 반환합니다. HTTP 상태 코드가 400 이상이면 예외가 발생합니다.

노드

TrueWatch 시스템은 다중 노드 분산 아키텍처를 갖추고 있어 커넥터 생성 시 대상 노드를 정확히 지정해야 기능이 정상적으로 호출됩니다.

DataFlux Func는 완전한 오프라인 사용 시나리오의 호환성을 위해 버전화된 노드 목록 고정 메커니즘을 사용합니다 — 각 버전 릴리스 시 해당 시점의 최신 TrueWatch 노드 목록이 함께 저장되어 오프라인 환경에서의 안정적인 실행을 보장합니다.

위 메커니즘의 제약으로 인해 TrueWatch에 이후 새 노드가 추가되면 DataFlux Func 버전의 노드 목록이 제때 업데이트되지 않을 수 있습니다. 사용자는 버전 업데이트 정보를 주시하는 것이 좋으며, 최신 노드 기능을 사용해야 하는 경우 DataFlux Func 최신 버전으로 업그레이드하면 완전한 지원을 받을 수 있습니다.


위와 같은 상황이 발생하면 다음 방법으로 새 노드 구성을 완료할 수 있습니다:

  1. 정보 조회: 지정된 주소에 접속하여 TrueWatch에 새로 추가된 노드의 전체 구성 매개변수를 확인합니다.
  2. 수동 배포: '비공개 배포' 모드를 선택하고 조회한 노드 정보를 시스템의 해당 필드에 수동으로 입력하여 구성을 완료합니다.

작업 전에 매개변수의 정확성을 확인하고 현재 환경에 적합한지 확인하여 배포 효과를 보장하는 것이 좋습니다.

현재 사용 가능한 노드 목록은 다음과 같습니다:

노드 이름 주소
최신 노드 목록을 가져오는 중...