跳轉到

指令碼開發 / 聯結器物件 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. 手動部署:選擇「私有部署」模式,將查詢到的節點資訊手工填入系統對應欄位完成配置。

建議操作前確認引數準確性,確保與當前環境適配以保障部署效果。

當前可用的節點列表如下:

節點 名稱 地址
正在獲取最新節點列表...