コンテンツにスキップ

スクリプト開発 / コネクターオブジェクト DFF.CONN / Guance Cloud

Guance Cloud コネクター操作オブジェクトは、主にデータ書き込み用の DataWay オブジェクトと OpenAPI のラッパーを提供します。

このコネクターの API Key には Administrator ロールが必要です

このコネクターは、後続のデータ送信などの操作に備えて、ワークスペース Token などの機密情報を自動的に取得するためです。

したがって、API Key に Administrator ロールを割り当てる必要があります。

DFF.CONN(...) のパラメータは以下のとおりです:

パラメータ 必須 / デフォルト値 説明
connector_id str 必須 コネクター ID
timeout int/float 10 現在の操作オブジェクトのデフォルト HTTP リクエストタイムアウト時間(秒)

OpenAPI ドキュメントは以下を参照してください:

.dataway

dataway 属性は、現在の Guance Cloud に対応する DataWay 操作オブジェクトであり、直接作成した DataWay コネクター操作オブジェクトと同じ方法で使用できます。

サンプル
1
status_code, result = guance.dataway.write_by_category(category='metric', measurement='ホスト監視', tags={'host': 'web-01'}, fields={'cpu': 10})

完全な内容は以下を参照してください:

.is_api_key_valid / .is_api_key_match

is_api_key_valid 属性は、現在のコネクターの API Key が有効かどうかを返します。is_api_key_match は旧名称の互換エイリアスです:

サンプル
1
print(guance.is_api_key_valid)
出力サンプル
1
True

.workspace

workspace 属性は、現在のワークスペース情報を返します:

サンプル
1
2
import json
print(json.dumps(guance.workspace, indent=2))
出力サンプル
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "uuid"        : "wksp_xxxxx",
  "name"        : "xxxxx",
  "rpName"      : "rp1",
  "language"    : "zh",
  "timezone"    : "",
  "bossStation" : "CN",
  "billingState": "normal",
  "versionType" : "pay",
  "token"       : "tkn_xxxxx",
  "cliToken"    : "wkcli_xxxxx",
  "<他のフィールド省略>": "..."
}

.workspace_uuid

workspace_uuid 属性は、現在のワークスペース UUID を返します:

サンプル
1
print(guance.workspace_uuid)
出力サンプル
1
wksp_xxxxx

.workspace_token

workspace_token 属性は、現在のワークスペース Token を返します:

サンプル
1
print(guance.workspace_token)
出力サンプル
1
tkn_xxxxx

.workspace_language

workspace_language 属性は、現在のワークスペース言語を返します:

サンプル
1
print(guance.workspace_language)
出力サンプル
1
zh

.do_get(...)

Guance Cloud OpenAPI に GET リクエストを送信するために使用します。パラメータは以下のとおりです:

パラメータ 必須 / デフォルト値 説明
path str 必須 OpenAPI パス
query dict None URL クエリパラメータ
timeout int/float None 今回のリクエストのタイムアウト時間。省略時は操作オブジェクトのデフォルト値を使用
サンプル
1
2
3
4
import json

result = guance.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"    : "zh",
    "timezone"    : "",
    "bossStation" : "CN",
    "billingState": "normal",
    "versionType" : "pay",
    "token"       : "tkn_xxxxx",
    "cliToken"    : "wkcli_xxxxx",
    "<他のフィールド省略>": "..."
  }
}

このメソッドは OpenAPI の完全なレスポンスオブジェクトを返し、content を自動的に抽出しません。HTTP ステータスコードが 400 以上の場合は例外をスローします。

.do_post(...)

Guance Cloud OpenAPI に POST リクエストを送信するために使用します。パラメータは以下のとおりです:

パラメータ 必須 / デフォルト値 説明
path str 必須 OpenAPI パス
query dict None URL クエリパラメータ
body dict None JSON リクエストボディ
timeout int/float None 今回のリクエストのタイムアウト時間。省略時は操作オブジェクトのデフォルト値を使用
サンプル
1
2
3
4
body = {
    'desc': '新しい説明'
}
result = guance.do_post('/api/v1/workspace/modify', body=body)

このメソッドは OpenAPI の完全なレスポンスオブジェクトを返します。HTTP ステータスコードが 400 以上の場合は例外をスローします。

ノード

Guance Cloud には複数のノードがあり、Guance Cloud コネクターを作成する際に対応する Guance Cloud ノードを指定する必要があります。

DataFlux Func は完全なオフライン使用をサポートするため、各バージョンのリリース時にその時点で最新の Guance Cloud ノードリストを保存しています。

そのため、Guance Cloud に新しいノードが追加された場合に、DataFlux Func にすぐに反映されない可能性があります。


このような場合は、次のアドレスで Guance Cloud の新ノード関連設定を確認し、「プライベートデプロイ」を選択して手動で入力できます。

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

ノード 名前 アドレス
最新のノードリストを取得中...