跳轉至

腳本開發 / 連接器對象 DFF.CONN / 總覽

在創建連接器後,可以在代碼中調用 DFF.CONN(connector_id, **kwargs) 獲取指定連接器的操作對象。

參數 類型 必須 / 默認值 説明
connector_id str 必須 連接器 ID
**kwargs - - 覆蓋本次操作對象的部分配置,支持範圍取決於連接器類型

傳入值為 None 或空白字符串的可選參數會被忽略。未傳入可選參數時,操作對象使用連接器中保存的配置或代碼默認值。

示例
1
2
3
4
@DFF.API('InfluxDB 操作演示')
def influxdb_demo():
    db = DFF.CONN('demo_influxdb')
    return db.query('SELECT * FROM demo LIMIT 3')

各連接器支持的可選參數如下:

連接器類型 可選參數 説明
觀測雲、TrueWatch timeout HTTP 請求超時時間,默認 10 秒
DataKit source、timeout、split_size 覆蓋 Source、請求超時時間和批量分片大小
DataWay token、timeout、split_size 覆蓋 Token、請求超時時間和批量分片大小
DataFlux Func Sidecar timeout HTTP 請求超時時間,默認 10 秒
InfluxDB database 覆蓋默認數據庫
MySQL database 覆蓋默認數據庫
Redis database、client_name 覆蓋數據庫編號和 Redis 客户端名稱
Memcached - 無可選參數
ClickHouse database 覆蓋默認數據庫
Oracle 數據庫 database 覆蓋服務名
Microsoft SQL Server database 覆蓋默認數據庫
PostgreSQL database 覆蓋默認數據庫
MongoDB database 覆蓋默認數據庫
Elasticsearch timeout HTTP 請求超時時間,默認 10 秒
NSQ timeout HTTP 請求超時時間,默認 10 秒
MQTT Broker、Kafka - 無可選參數
Prometheus timeout HTTP 請求超時時間,默認 10 秒
阿里雲日誌服務 SLS - 無可選參數
LLM model、timeout 覆蓋默認模型;請求超時時間默認為 60 秒

只有上表列出的參數會影響對應操作對象,其他額外參數雖然可被調用入口接收,但連接器實現不會使用。

覆蓋數據庫

數據庫類連接器配置了默認數據庫時,查詢會在默認數據庫中進行。如本次操作需要使用其他數據庫,可以在獲取連接器操作對象時傳入 database:

Python
1
db = DFF.CONN('demo_influxdb', database='my_database')

支持 database 參數的連接器以參數表為準。對於不支持該參數的連接器,如需操作其他數據庫,應創建不同的連接器。

覆蓋 DataWay Token

DataWay 可以在獲取操作對象時覆蓋連接器中保存的 Token:

Python
1
dataway = DFF.CONN('df_dataway', token='xxxxx')

不同類型連接器返回的操作對象具有不同方法,具體接口見對應連接器文檔。