概述
更新時間 2023-12-05 16:28:25
最近更新時間: 2023-12-05 16:28:25
分享文章
本文主要介紹云日志服務的函數加工概述。
云日志服務 DSL(Domain Specific Language)是云日志服務數據加工使用的與Python兼容的腳本。DSL基于Python語言開發,提供一百多個內置函數來簡化數據加工任務。
通過DSL自由編輯函數,對各種邏輯進行復雜組合,可以滿足大部分數據加工場景。
語法
DSL可視為Python的子集。除基本的數據結構與表達方式外,語法規則是以函數方式進行編排。
數據結構
| Python語法 | 標準模式 |
|---|---|
| 數字、字符串、布爾 | 支持。不支持"""形式字符串。 |
| 元組、列表、集合、字典 | 支持。不支持集合set如{1,2,3}。 |
| 對象 | 僅支持內置擴展數據結構,如表格、日期時間對象等。 |
基本語法
| Python語法 | 標準模式 |
|---|---|
| 操作符,如加減乘除等 | 比較運算符(如==、!=、>等)和邏輯運算符(如and、or、not)等通過op_系列函數支持。 |
| 注釋 | 支持。 |
| 變量定義賦值 | 不支持。值通過函數調用傳遞。 |
| 條件 | 支持。例如e_if、e_if_else、e_switch函數。 |
| 循環 | 不直接支持,可通過內置函數嵌套實現。 |
函數
| Python語法 | 標準模式 |
|---|---|
| 標準Python內置函數 | 不支持。使用內置DSL函數。 |
| 函數調用 | 支持。但不支持解包調用。 |
| 自定義函數def或lambda | 不支持。 |
模塊
| Python語法 | 標準模式 |
|---|---|
| 自定義函數def或lambda | 不支持。 |
| 導入與使用Python標準庫 | 不支持。 |
| 線程與進程創建 | 不支持。 |
| 導入第三方庫 | 不支持。 |
| 外部網絡連接或命令調用 | 不支持。 |