コンテンツにスキップ

スクリプト開発 / コネクターオブジェクト 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. 手動デプロイ:「プライベートデプロイ」モードを選択し、照会したノード情報をシステムの対応するフィールドに手動で入力して構成を完了します。

操作前にパラメータの正確性を確認し、現在の環境に適合していることを確認して、デプロイ効果を保証することをお勧めします。

現在利用可能なノードリストは次のとおりです:

ノード 名前 アドレス
最新のノードリストを取得しています...