指令碼開發 / 聯結器物件 DFF.CONN / 阿里雲日誌服務 SLS
阿里雲日誌服務 SLS 聯結器操作物件用於列出 Project 和 Logstore,並查詢日誌。
DFF.CONN(...) 引數如下:
| 引數 | 型別 | 必須 / 預設值 | 說明 |
|---|---|---|---|
connector_id |
str | 必須 | 聯結器 ID |
AccessKey 憑據來自聯結器配置,不需要也不應在指令碼程式碼中傳入。
.list_projects()
返回當前憑據有權訪問的 Project 名稱,格式為 list[str]。
| 示例 | |
|---|---|
1 2 | |
此方法使用 SDK 的預設分頁引數,單次最多返回 100 個 Project,且不支援傳入分頁引數。
.list_logstores(...)
列出指定 Project 下的 Logstore,引數如下:
| 引數 | 型別 | 必須 / 預設值 | 說明 |
|---|---|---|---|
project |
str | 必須 | Project 名稱 |
返回值格式為 list[str]。
| 示例 | |
|---|---|
1 | |
此方法使用 SDK 的預設分頁引數,單次最多返回 100 個 Logstore,且不支援傳入分頁引數。
.query(...)
查詢指定 Project 和 Logstore 中的日誌。引數會直接傳給 aliyun-log-python-sdk 的日誌查詢介面:
| 引數 | 型別 | 必須 / 預設值 | 說明 |
|---|---|---|---|
project |
str | 必須 | Project 名稱 |
logstore |
str | 必須 | Logstore 名稱 |
from_time |
int/str | 必須 | 查詢開始時間,可傳入 Unix 秒時間戳或 SLS 支援的可讀時間字串 |
to_time |
int/str | 必須 | 查詢結束時間,可傳入 Unix 秒時間戳或 SLS 支援的可讀時間字串 |
topic |
str | None |
限定日誌主題 |
query |
str | None |
SLS 查詢語句 |
reverse |
bool | False |
是否優先返回較新的日誌 |
offset |
int | 0 |
返回結果的起始偏移量 |
size |
int | 100 |
最大返回條數;-1 表示請求全部結果 |
power_sql |
bool | False |
是否使用增強 SQL 模式 |
scan |
bool | False |
是否使用 Scan 查詢模式 |
forward |
bool | True |
Scan 查詢的翻頁方向,True 表示下一頁,False 表示上一頁 |
accurate_query |
bool | True |
是否使用精確查詢模式 |
from_time_nano_part |
int | 0 |
查詢開始時間的納秒部分 |
to_time_nano_part |
int | 0 |
查詢結束時間的納秒部分 |
| 示例 | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 | |
返回值格式為 list[dict],每條日誌包含以下欄位:
| 欄位 | 型別 | 說明 |
|---|---|---|
contents |
dict | 日誌內容 |
timestamp |
int | 日誌時間,Unix 秒時間戳 |
SDK 查詢失敗時,其異常會直接向上丟擲。
限制查詢範圍和返回數量
大範圍日誌查詢可能產生較高開銷。定時任務應使用 _DFF_TRIGGER_TIME 構造穩定的查詢視窗,並根據實際需求限制時間範圍和 size。