Skip to content

Script Development / Guance

The Guance connector operation object primarily provides a DataWay object for data writing and encapsulation of OpenAPI.

This connector's API Key requires the Administrator role

Since this connector automatically retrieves sensitive information such as workspace tokens for subsequent data reporting operations.

Therefore, the API Key needs to be assigned the Administrator role.

DFF.CONN(...) parameters are as follows:

Parameter Type Required / Default Description
connector_id str Required Connector ID

For OpenAPI documentation, please refer to:

.dataway

The dataway attribute is the DataWay operation object corresponding to the current Guance workspace. Its usage is the same as directly creating a DataWay connector operation object.

Example
1
status_code, result = guance.dataway.write_by_category(category='metric', measurement='Host Monitoring', tags={'host': 'web-01'}, fields={'cpu': 10})

For complete content, please refer to:

.is_api_key_valid / .is_api_key_match

The is_api_key_valid / is_api_key_match attributes return whether the current connector's API Key is valid:

Example
1
print(guance.is_api_key_valid)
Output Example
1
True

.workspace

The workspace attribute returns the current workspace information:

Example
1
2
import json
print(json.dumps(guance.workspace, indent=2))
Output Example
 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",
  "<other fields omitted>": "..."
}

.workspace_uuid

The workspace_uuid attribute returns the current workspace UUID:

Example
1
print(guance.workspace_uuid)
Output Example
1
wksp_xxxxx

.workspace_token

The workspace_token attribute returns the current workspace Token:

Example
1
print(guance.workspace_token)
Output Example
1
tkn_xxxxx

.workspace_language

The workspace_language attribute returns the current workspace language:

Example
1
print(guance.workspace_language)
Output Example
1
zh

.do_get(...)

Used to make a GET request to the Guance OpenAPI. Parameters are as follows:

Parameter Type Required / Default Description
path str Required Path
query dict Parameters
Example
1
2
3
4
import json

result = guance.do_get('/api/v1/workspace/get')
print(json.dumps(result, indent=2))
Output Example
 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",
  "<other fields omitted>": "..."
}

.do_post(...)

Used to make a POST request to the Guance OpenAPI. Parameters are as follows:

Parameter Type Required / Default Description
path str Required Path
query dict Parameters
body dict JSON request body
Example
1
2
3
4
body = {
    'desc': 'New description'
}
result = guance.do_post('/api/v1/workspace/modify', body=body)

Nodes

Guance has multiple nodes available for use. When creating a Guance connector, you need to specify the corresponding Guance node.

To ensure complete offline usability, DataFlux Func itself saves a copy of the latest Guance node list available at the time of each version release.

Therefore, there may be situations where new nodes added by Guance are not reflected in DataFlux Func in a timely manner.


In such cases, you can check the configuration of new Guance nodes at the following address, then select "Private Deployment" and fill in the details manually.

The current list of available nodes is as follows:

Node Name Address
Fetching the latest node list...