@clickzetta/cz-cli-darwin-x64 0.3.81 → 0.3.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/bin/cz-cli +0 -0
  2. package/bin/skills/clickzetta-access-control/LICENSE +16 -0
  3. package/bin/skills/clickzetta-access-control/SKILL.md +243 -0
  4. package/bin/skills/clickzetta-access-control/eval_cases.jsonl +3 -0
  5. package/bin/skills/clickzetta-access-control/references/dynamic-masking.md +86 -0
  6. package/bin/skills/clickzetta-access-control/references/grant-revoke.md +103 -0
  7. package/bin/skills/clickzetta-access-control/references/role-management.md +66 -0
  8. package/bin/skills/clickzetta-access-control/references/user-management.md +61 -0
  9. package/bin/skills/clickzetta-app-python-sdk/LICENSE +16 -0
  10. package/bin/skills/clickzetta-app-python-sdk/SKILL.md +153 -0
  11. package/bin/skills/clickzetta-app-python-sdk/eval_cases.jsonl +12 -0
  12. package/bin/skills/clickzetta-app-python-sdk/references/bulkload.md +196 -0
  13. package/bin/skills/clickzetta-app-python-sdk/references/connector.md +143 -0
  14. package/bin/skills/clickzetta-app-python-sdk/references/realtime.md +122 -0
  15. package/bin/skills/clickzetta-batch-sync-pipeline/LICENSE +16 -0
  16. package/bin/skills/clickzetta-batch-sync-pipeline/SKILL.md +227 -0
  17. package/bin/skills/clickzetta-batch-sync-pipeline/eval_cases.jsonl +5 -0
  18. package/bin/skills/clickzetta-bi-connect/LICENSE +16 -0
  19. package/bin/skills/clickzetta-bi-connect/SKILL.md +176 -0
  20. package/bin/skills/clickzetta-bi-connect/eval_cases.jsonl +5 -0
  21. package/bin/skills/clickzetta-bi-connect/references/bi-tools.md +170 -0
  22. package/bin/skills/clickzetta-cdc-sync-pipeline/LICENSE +16 -0
  23. package/bin/skills/clickzetta-cdc-sync-pipeline/SKILL.md +633 -0
  24. package/bin/skills/clickzetta-cdc-sync-pipeline/eval_cases.jsonl +5 -0
  25. package/bin/skills/clickzetta-data-ingest-pipeline/LICENSE +16 -0
  26. package/bin/skills/clickzetta-data-ingest-pipeline/SKILL.md +237 -0
  27. package/bin/skills/clickzetta-data-ingest-pipeline/eval_cases.jsonl +5 -0
  28. package/bin/skills/clickzetta-data-retention/LICENSE +16 -0
  29. package/bin/skills/clickzetta-data-retention/SKILL.md +160 -0
  30. package/bin/skills/clickzetta-data-retention/eval_cases.jsonl +5 -0
  31. package/bin/skills/clickzetta-data-retention/references/lifecycle-reference.md +175 -0
  32. package/bin/skills/clickzetta-data-science/LICENSE +16 -0
  33. package/bin/skills/clickzetta-data-science/SKILL.md +125 -0
  34. package/bin/skills/clickzetta-data-science/eval_cases.jsonl +12 -0
  35. package/bin/skills/clickzetta-data-science/references/bitmap-profile.md +146 -0
  36. package/bin/skills/clickzetta-data-science/references/data-patterns.md +110 -0
  37. package/bin/skills/clickzetta-data-science/references/setup.md +160 -0
  38. package/bin/skills/clickzetta-data-science/references/stats-functions.md +195 -0
  39. package/bin/skills/clickzetta-data-science/references/write-and-infer.md +122 -0
  40. package/bin/skills/clickzetta-data-science/references/zettapark-api.md +156 -0
  41. package/bin/skills/clickzetta-data-sharing/LICENSE +16 -0
  42. package/bin/skills/clickzetta-data-sharing/SKILL.md +160 -0
  43. package/bin/skills/clickzetta-data-sharing/eval_cases.jsonl +3 -0
  44. package/bin/skills/clickzetta-data-sharing/references/share-ddl.md +134 -0
  45. package/bin/skills/clickzetta-dba-guide/LICENSE +16 -0
  46. package/bin/skills/clickzetta-dba-guide/SKILL.md +542 -0
  47. package/bin/skills/clickzetta-dba-guide/eval_cases.jsonl +3 -0
  48. package/bin/skills/clickzetta-dw-modeling/LICENSE +16 -0
  49. package/bin/skills/clickzetta-dw-modeling/SKILL.md +351 -0
  50. package/bin/skills/clickzetta-dw-modeling/eval_cases.jsonl +4 -0
  51. package/bin/skills/clickzetta-dw-modeling/references/modeling-patterns.md +100 -0
  52. package/bin/skills/clickzetta-dynamic-table/LICENSE +16 -0
  53. package/bin/skills/clickzetta-dynamic-table/SKILL.md +230 -0
  54. package/bin/skills/clickzetta-dynamic-table/best-practices/dimension-table-join-guide.md +253 -0
  55. package/bin/skills/clickzetta-dynamic-table/best-practices/medallion-and-stream-patterns.md +124 -0
  56. package/bin/skills/clickzetta-dynamic-table/best-practices/non-partitioned-merge-into-warning.md +96 -0
  57. package/bin/skills/clickzetta-dynamic-table/best-practices/performance-optimization.md +109 -0
  58. package/bin/skills/clickzetta-dynamic-table/best-practices/scheduling-guide.md +135 -0
  59. package/bin/skills/clickzetta-dynamic-table/dt-creator/SKILL.md +15 -0
  60. package/bin/skills/clickzetta-dynamic-table/dt-creator/references/dt-declaration-strategy.md +185 -0
  61. package/bin/skills/clickzetta-dynamic-table/dt-creator/references/incremental-config-reference.md +427 -0
  62. package/bin/skills/clickzetta-dynamic-table/dt-creator/references/refresh-history-guide.md +260 -0
  63. package/bin/skills/clickzetta-dynamic-table/dt-creator/references/sql-limitations.md +80 -0
  64. package/bin/skills/clickzetta-dynamic-table/dynamic-table-alter/SKILL.md +190 -0
  65. package/bin/skills/clickzetta-dynamic-table/eval_cases.jsonl +5 -0
  66. package/bin/skills/clickzetta-dynamic-table/sql-to-dt/SKILL.md +27 -0
  67. package/bin/skills/clickzetta-dynamic-table/sql-to-dt/references/sql2dt-column-validation-rules.md +118 -0
  68. package/bin/skills/clickzetta-dynamic-table/sql-to-dt/references/sql2dt-conversion-rules.md +225 -0
  69. package/bin/skills/clickzetta-dynamic-table/sql-to-dt/references/sql2dt-placeholder-rules.md +182 -0
  70. package/bin/skills/clickzetta-dynamic-table/sql-to-dt/references/sql2dt-refresh-rules.md +98 -0
  71. package/bin/skills/clickzetta-dynamic-table/sql-to-dt/references/sql2dt-self-reference-rules.md +76 -0
  72. package/bin/skills/clickzetta-dynamic-table/sql-to-dt/references/sql2dt-workflow.md +109 -0
  73. package/bin/skills/clickzetta-external-catalog/LICENSE +16 -0
  74. package/bin/skills/clickzetta-external-catalog/SKILL.md +123 -0
  75. package/bin/skills/clickzetta-external-catalog/eval_cases.jsonl +5 -0
  76. package/bin/skills/clickzetta-external-catalog/references/external-catalog-ddl.md +130 -0
  77. package/bin/skills/clickzetta-external-function/LICENSE +16 -0
  78. package/bin/skills/clickzetta-external-function/SKILL.md +203 -0
  79. package/bin/skills/clickzetta-external-function/eval_cases.jsonl +4 -0
  80. package/bin/skills/clickzetta-external-function/references/external-function-ddl.md +171 -0
  81. package/bin/skills/clickzetta-file-import-pipeline/LICENSE +16 -0
  82. package/bin/skills/clickzetta-file-import-pipeline/SKILL.md +190 -0
  83. package/bin/skills/clickzetta-file-import-pipeline/eval_cases.jsonl +5 -0
  84. package/bin/skills/clickzetta-index-manager/LICENSE +16 -0
  85. package/bin/skills/clickzetta-index-manager/SKILL.md +140 -0
  86. package/bin/skills/clickzetta-index-manager/eval_cases.jsonl +5 -0
  87. package/bin/skills/clickzetta-index-manager/references/bloomfilter-index.md +67 -0
  88. package/bin/skills/clickzetta-index-manager/references/index-management.md +73 -0
  89. package/bin/skills/clickzetta-index-manager/references/inverted-index.md +80 -0
  90. package/bin/skills/clickzetta-index-manager/references/vector-index.md +81 -0
  91. package/bin/skills/clickzetta-java-sdk/LICENSE +16 -0
  92. package/bin/skills/clickzetta-java-sdk/SKILL.md +186 -0
  93. package/bin/skills/clickzetta-java-sdk/eval_cases.jsonl +12 -0
  94. package/bin/skills/clickzetta-java-sdk/references/bulkload.md +163 -0
  95. package/bin/skills/clickzetta-java-sdk/references/realtime.md +212 -0
  96. package/bin/skills/clickzetta-kafka-ingest-pipeline/LICENSE +16 -0
  97. package/bin/skills/clickzetta-kafka-ingest-pipeline/SKILL.md +769 -0
  98. package/bin/skills/clickzetta-kafka-ingest-pipeline/eval_cases.jsonl +5 -0
  99. package/bin/skills/clickzetta-kafka-ingest-pipeline/references/kafka-pipe-syntax.md +324 -0
  100. package/bin/skills/clickzetta-lakehouse-connect/LICENSE +16 -0
  101. package/bin/skills/clickzetta-lakehouse-connect/SKILL.md +218 -0
  102. package/bin/skills/clickzetta-lakehouse-connect/eval_cases.jsonl +3 -0
  103. package/bin/skills/clickzetta-lakehouse-connect/evals/evals.json +35 -0
  104. package/bin/skills/clickzetta-lakehouse-connect/references/config-file.md +435 -0
  105. package/bin/skills/clickzetta-lakehouse-connect/references/jdbc.md +478 -0
  106. package/bin/skills/clickzetta-lakehouse-connect/references/python-sdk.md +225 -0
  107. package/bin/skills/clickzetta-lakehouse-connect/references/sqlalchemy.md +468 -0
  108. package/bin/skills/clickzetta-lakehouse-connect/references/zettapark-session.md +445 -0
  109. package/bin/skills/clickzetta-manage-comments/LICENSE +16 -0
  110. package/bin/skills/clickzetta-manage-comments/SKILL.md +219 -0
  111. package/bin/skills/clickzetta-manage-comments/eval_cases.jsonl +3 -0
  112. package/bin/skills/clickzetta-metadata/LICENSE +16 -0
  113. package/bin/skills/clickzetta-metadata/SKILL.md +502 -0
  114. package/bin/skills/clickzetta-metadata/eval_cases.jsonl +5 -0
  115. package/bin/skills/clickzetta-metadata/references/instance-views-reference.md +276 -0
  116. package/bin/skills/clickzetta-metadata/references/metering-views-reference.md +137 -0
  117. package/bin/skills/clickzetta-metadata/references/show-desc-reference.md +326 -0
  118. package/bin/skills/clickzetta-metadata/references/views-reference.md +271 -0
  119. package/bin/skills/clickzetta-monitoring/LICENSE +16 -0
  120. package/bin/skills/clickzetta-monitoring/SKILL.md +215 -0
  121. package/bin/skills/clickzetta-monitoring/eval_cases.jsonl +5 -0
  122. package/bin/skills/clickzetta-monitoring/references/job-history-analysis.md +97 -0
  123. package/bin/skills/clickzetta-monitoring/references/show-jobs.md +48 -0
  124. package/bin/skills/clickzetta-oss-ingest-pipeline/LICENSE +16 -0
  125. package/bin/skills/clickzetta-oss-ingest-pipeline/SKILL.md +562 -0
  126. package/bin/skills/clickzetta-oss-ingest-pipeline/eval_cases.jsonl +5 -0
  127. package/bin/skills/clickzetta-overview/LICENSE +16 -0
  128. package/bin/skills/clickzetta-overview/SKILL.md +102 -0
  129. package/bin/skills/clickzetta-overview/eval_cases.jsonl +5 -0
  130. package/bin/skills/clickzetta-overview/references/brands-and-endpoints.md +79 -0
  131. package/bin/skills/clickzetta-overview/references/object-model.md +311 -0
  132. package/bin/skills/clickzetta-overview/references/studio-modules.md +173 -0
  133. package/bin/skills/clickzetta-pipeline-review/LICENSE +16 -0
  134. package/bin/skills/clickzetta-pipeline-review/SKILL.md +377 -0
  135. package/bin/skills/clickzetta-query-optimizer/LICENSE +16 -0
  136. package/bin/skills/clickzetta-query-optimizer/SKILL.md +156 -0
  137. package/bin/skills/clickzetta-query-optimizer/eval_cases.jsonl +5 -0
  138. package/bin/skills/clickzetta-query-optimizer/references/explain.md +56 -0
  139. package/bin/skills/clickzetta-query-optimizer/references/hints-and-sortkey.md +78 -0
  140. package/bin/skills/clickzetta-query-optimizer/references/optimize.md +65 -0
  141. package/bin/skills/clickzetta-query-optimizer/references/result-cache.md +49 -0
  142. package/bin/skills/clickzetta-query-optimizer/references/show-jobs.md +42 -0
  143. package/bin/skills/clickzetta-realtime-sync-pipeline/LICENSE +16 -0
  144. package/bin/skills/clickzetta-realtime-sync-pipeline/SKILL.md +323 -0
  145. package/bin/skills/clickzetta-realtime-sync-pipeline/eval_cases.jsonl +5 -0
  146. package/bin/skills/clickzetta-semantic-view/LICENSE +16 -0
  147. package/bin/skills/clickzetta-semantic-view/SKILL.md +207 -0
  148. package/bin/skills/clickzetta-semantic-view/eval_cases.jsonl +12 -0
  149. package/bin/skills/clickzetta-semantic-view/references/semantic-view-reference.md +167 -0
  150. package/bin/skills/clickzetta-spark-flink-connector/LICENSE +16 -0
  151. package/bin/skills/clickzetta-spark-flink-connector/SKILL.md +92 -0
  152. package/bin/skills/clickzetta-spark-flink-connector/eval_cases.jsonl +5 -0
  153. package/bin/skills/clickzetta-spark-flink-connector/references/flink.md +147 -0
  154. package/bin/skills/clickzetta-spark-flink-connector/references/spark.md +132 -0
  155. package/bin/skills/clickzetta-sql-pipeline-manager/LICENSE +16 -0
  156. package/bin/skills/clickzetta-sql-pipeline-manager/SKILL.md +485 -0
  157. package/bin/skills/clickzetta-sql-pipeline-manager/eval_cases.jsonl +12 -0
  158. package/bin/skills/clickzetta-sql-pipeline-manager/evals/evals.json +166 -0
  159. package/bin/skills/clickzetta-sql-pipeline-manager/references/dynamic-table.md +185 -0
  160. package/bin/skills/clickzetta-sql-pipeline-manager/references/materialized-view.md +129 -0
  161. package/bin/skills/clickzetta-sql-pipeline-manager/references/pipe.md +222 -0
  162. package/bin/skills/clickzetta-sql-pipeline-manager/references/table-stream.md +125 -0
  163. package/bin/skills/clickzetta-sql-syntax-guide/LICENSE +16 -0
  164. package/bin/skills/clickzetta-sql-syntax-guide/SKILL.md +249 -0
  165. package/bin/skills/clickzetta-sql-syntax-guide/eval_cases.jsonl +3 -0
  166. package/bin/skills/clickzetta-sql-syntax-guide/references/ddl-reference.md +350 -0
  167. package/bin/skills/clickzetta-sql-syntax-guide/references/dml-reference.md +279 -0
  168. package/bin/skills/clickzetta-sql-syntax-guide/references/dql-reference.md +504 -0
  169. package/bin/skills/clickzetta-sql-syntax-guide/references/functions-reference.md +372 -0
  170. package/bin/skills/clickzetta-sql-syntax-guide/references/migration-databricks.md +260 -0
  171. package/bin/skills/clickzetta-sql-syntax-guide/references/migration-snowflake.md +382 -0
  172. package/bin/skills/clickzetta-sql-syntax-guide/references/vs-snowflake.md +346 -0
  173. package/bin/skills/clickzetta-sql-syntax-guide/references/vs-spark.md +229 -0
  174. package/bin/skills/clickzetta-studio-task-manager/LICENSE +16 -0
  175. package/bin/skills/clickzetta-studio-task-manager/SKILL.md +652 -0
  176. package/bin/skills/clickzetta-table-lineage/LICENSE +16 -0
  177. package/bin/skills/clickzetta-table-lineage/SKILL.md +90 -0
  178. package/bin/skills/clickzetta-table-lineage/eval_cases.jsonl +1 -0
  179. package/bin/skills/clickzetta-table-lineage/references/normalize_func.sql +14 -0
  180. package/bin/skills/clickzetta-table-lineage/references/table_cost.sql +38 -0
  181. package/bin/skills/clickzetta-table-lineage/references/table_lineage_standalone.html +562 -0
  182. package/bin/skills/clickzetta-table-lineage/references/table_relation.sql +25 -0
  183. package/bin/skills/clickzetta-table-stream-pipeline/LICENSE +16 -0
  184. package/bin/skills/clickzetta-table-stream-pipeline/SKILL.md +206 -0
  185. package/bin/skills/clickzetta-table-stream-pipeline/eval_cases.jsonl +5 -0
  186. package/bin/skills/clickzetta-vcluster-manager/LICENSE +16 -0
  187. package/bin/skills/clickzetta-vcluster-manager/SKILL.md +212 -0
  188. package/bin/skills/clickzetta-vcluster-manager/eval_cases.jsonl +5 -0
  189. package/bin/skills/clickzetta-vcluster-manager/references/vc-cache.md +54 -0
  190. package/bin/skills/clickzetta-vcluster-manager/references/vcluster-ddl.md +150 -0
  191. package/bin/skills/clickzetta-volume-manager/LICENSE +16 -0
  192. package/bin/skills/clickzetta-volume-manager/SKILL.md +292 -0
  193. package/bin/skills/clickzetta-volume-manager/eval_cases.jsonl +5 -0
  194. package/bin/skills/clickzetta-volume-manager/references/volume-ddl.md +199 -0
  195. package/bin/skills/clickzetta-zettapark/LICENSE +16 -0
  196. package/bin/skills/clickzetta-zettapark/SKILL.md +248 -0
  197. package/bin/skills/clickzetta-zettapark/eval_cases.jsonl +12 -0
  198. package/bin/skills/clickzetta-zettapark/references/zettapark-api.md +283 -0
  199. package/bin/skills/cz-cli/SKILL.md +313 -0
  200. package/bin/skills/cz-cli/references/profile-setup.md +120 -0
  201. package/package.json +1 -1
@@ -0,0 +1,435 @@
1
+ # 配置文件管理 — connections.json 详细参考
2
+
3
+ 本文档详细说明 ClickZetta Lakehouse 的连接配置文件格式、搜索路径、多连接管理以及 Docker 部署方式。所有内容基于 `mcp-clickzetta-server` 项目中的真实代码。
4
+
5
+ ## 目录
6
+
7
+ - [JSON 配置文件格式](#json-配置文件格式)
8
+ - [五级搜索路径](#五级搜索路径)
9
+ - [多连接管理](#多连接管理)
10
+ - [环境变量备选](#环境变量备选)
11
+ - [Docker / Kubernetes 部署配置](#docker--kubernetes-部署配置)
12
+ - [system_config 参数说明](#system_config-参数说明)
13
+ - [适用场景](#适用场景)
14
+ - [常见问题排查](#常见问题排查)
15
+ - [完整配置模板](#完整配置模板)
16
+
17
+ ---
18
+
19
+ ## JSON 配置文件格式
20
+
21
+ 配置文件 `connections.json` 包含两个顶层对象:`connections`(连接数组)和 `system_config`(系统级配置)。
22
+
23
+ ### 基本结构
24
+
25
+ ```json
26
+ {
27
+ "connections": [
28
+ {
29
+ "is_default": true,
30
+ "connection_name": "dev",
31
+ "service": "cn-shanghai-alicloud.api.clickzetta.com",
32
+ "username": "my_user",
33
+ "password": "my_password",
34
+ "instance": "my_instance",
35
+ "workspace": "my_workspace",
36
+ "schema": "public",
37
+ "vcluster": "default_ap",
38
+ "description": "开发环境",
39
+ "hints": {
40
+ "sdk.job.timeout": 300,
41
+ "query_tag": "dev-queries"
42
+ }
43
+ }
44
+ ],
45
+ "system_config": {
46
+ "allow_write": true,
47
+ "prefetch": false,
48
+ "log_level": "INFO",
49
+ "exclude_tools": []
50
+ }
51
+ }
52
+ ```
53
+
54
+ ### 连接字段说明
55
+
56
+ | 字段 | 类型 | 必填 | 默认值 | 说明 |
57
+ |:--|:--|:--|:--|:--|
58
+ | `connection_name` | string | ✅ | — | 连接名称,用于在多连接中唯一标识 |
59
+ | `service` | string | ✅ | — | API 服务地址,如 `cn-shanghai-alicloud.api.clickzetta.com` |
60
+ | `username` | string | ✅ | — | 登录用户名 |
61
+ | `password` | string | ✅ | — | 登录密码 |
62
+ | `instance` | string | ✅ | — | 实例名称 |
63
+ | `workspace` | string | ✅ | — | 工作空间名称 |
64
+ | `schema` | string | ✅ | — | 默认 Schema |
65
+ | `vcluster` | string | ❌ | `"default_ap"` | 虚拟集群名称 |
66
+ | `is_default` | boolean | ❌ | `false` | 是否为默认连接 |
67
+ | `description` | string | ❌ | `""` | 连接描述信息 |
68
+ | `hints` | object | ❌ | 见下方 | SDK 运行时参数 |
69
+
70
+ ### hints 默认值
71
+
72
+ 当 `hints` 未配置时,系统自动使用以下默认值:
73
+
74
+ ```json
75
+ {
76
+ "sdk.job.timeout": 300,
77
+ "query_tag": "Query from MCP Server",
78
+ "cz.storage.parquet.vector.index.read.memory.cache": "true",
79
+ "cz.storage.parquet.vector.index.read.local.cache": "false",
80
+ "cz.sql.table.scan.push.down.filter": "true",
81
+ "cz.sql.table.scan.enable.ensure.filter": "true",
82
+ "cz.storage.always.prefetch.internal": "true",
83
+ "cz.optimizer.generate.columns.always.valid": "true",
84
+ "cz.sql.index.prewhere.enabled": "true",
85
+ "cz.storage.parquet.enable.io.prefetch": "false"
86
+ }
87
+ ```
88
+
89
+ ---
90
+
91
+ ## 五级搜索路径
92
+
93
+ `ConnectionManager` 按以下优先级(从高到低)搜索配置文件,找到第一个可访问的文件即停止:
94
+
95
+ | 优先级 | 路径 | 适用场景 |
96
+ |:--|:--|:--|
97
+ | 1(最高) | `/app/.clickzetta/lakehouse_connection/connections.json` | Docker 统一路径(推荐) |
98
+ | 2 | `/app/config/lakehouse_connection/connections.json` | 旧版 Docker 兼容路径 |
99
+ | 3 | `config/lakehouse_connection/connections.json` | 项目目录相对路径(本地开发) |
100
+ | 4 | `~/.clickzetta/connections.json` | 用户主目录(仅非 Docker 环境) |
101
+ | 5(最低) | `/app/.clickzetta/connections.json` | 简化 Docker 路径 |
102
+
103
+ > **Windows Docker 环境**:系统会自动检测并添加额外的 Windows Docker 友好路径。
104
+
105
+ ### 搜索逻辑源码参考
106
+
107
+ ```python
108
+ # 来自 connection_manager.py
109
+ class ConnectionManager:
110
+ UNIFIED_CONFIG_FILE = "/app/.clickzetta/lakehouse_connection/connections.json"
111
+ DOCKER_CONFIG_FILE = "/app/config/lakehouse_connection/connections.json"
112
+ DEFAULT_CONFIG_FILE = "config/lakehouse_connection/connections.json"
113
+ USER_CONFIG_FILE = os.path.expanduser("~/.clickzetta/connections.json")
114
+ SIMPLE_CONFIG_FILE = "/app/.clickzetta/connections.json"
115
+ ```
116
+
117
+ ### 指定配置文件路径
118
+
119
+ 也可以在初始化时直接指定配置文件路径,跳过搜索逻辑:
120
+
121
+ ```python
122
+ from mcp_clickzetta_server.connection_manager import ConnectionManager
123
+
124
+ # 使用指定路径
125
+ conn_manager = ConnectionManager(config_file="/path/to/my/connections.json")
126
+ ```
127
+
128
+ ---
129
+
130
+ ## 多连接管理
131
+
132
+ ### 配置多个连接
133
+
134
+ 在 `connections` 数组中定义多个连接,通过 `is_default` 标记默认连接:
135
+
136
+ ```json
137
+ {
138
+ "connections": [
139
+ {
140
+ "is_default": true,
141
+ "connection_name": "dev",
142
+ "service": "cn-shanghai-alicloud.api.clickzetta.com",
143
+ "username": "dev_user",
144
+ "password": "dev_password",
145
+ "instance": "dev_instance",
146
+ "workspace": "dev_workspace",
147
+ "schema": "public",
148
+ "vcluster": "default_ap",
149
+ "description": "开发环境"
150
+ },
151
+ {
152
+ "connection_name": "staging",
153
+ "service": "cn-shanghai-alicloud.api.clickzetta.com",
154
+ "username": "staging_user",
155
+ "password": "staging_password",
156
+ "instance": "staging_instance",
157
+ "workspace": "staging_workspace",
158
+ "schema": "public",
159
+ "vcluster": "default_ap",
160
+ "description": "预发布环境"
161
+ },
162
+ {
163
+ "connection_name": "prod",
164
+ "service": "cn-shanghai-alicloud.api.clickzetta.com",
165
+ "username": "prod_user",
166
+ "password": "prod_password",
167
+ "instance": "prod_instance",
168
+ "workspace": "prod_workspace",
169
+ "schema": "public",
170
+ "vcluster": "default_ap",
171
+ "description": "生产环境",
172
+ "hints": {
173
+ "sdk.job.timeout": 600,
174
+ "query_tag": "production-queries"
175
+ }
176
+ }
177
+ ],
178
+ "system_config": {
179
+ "allow_write": false,
180
+ "log_level": "WARNING"
181
+ }
182
+ }
183
+ ```
184
+
185
+ ### 连接选择规则
186
+
187
+ 1. 如果有 `is_default: true` 的连接,自动设为活跃连接
188
+ 2. 如果有多个 `is_default: true`,使用最后一个
189
+ 3. 如果没有默认连接,使用第一个有效连接
190
+ 4. `service` 为 `"not_configured"` 的占位配置会被自动跳过
191
+
192
+ ### 代码中切换连接
193
+
194
+ ```python
195
+ from mcp_clickzetta_server.connection_manager import ConnectionManager
196
+
197
+ conn_manager = ConnectionManager()
198
+
199
+ # 列出所有可用连接
200
+ connections = conn_manager.list_connections()
201
+ for conn in connections:
202
+ print(f" {conn['name']}: {conn.get('description', '')}")
203
+
204
+ # 切换到指定连接
205
+ result = conn_manager.switch_connection("prod")
206
+ print(f"已切换到: {result}")
207
+
208
+ # 获取当前活跃连接配置
209
+ active_config = conn_manager.get_active_config()
210
+ print(f"当前连接: {active_config.connection_name}")
211
+ print(f"工作空间: {active_config.workspace}")
212
+
213
+ # 设置新的默认连接
214
+ conn_manager.set_default_connection("staging")
215
+
216
+ # 验证连接配置是否完整
217
+ validation = conn_manager.validate_connection("dev")
218
+ print(f"验证结果: {validation}")
219
+ ```
220
+
221
+ ---
222
+
223
+ ## 环境变量备选
224
+
225
+ 当没有找到配置文件时,系统会创建占位配置并启动。以下环境变量可用于配置连接参数:
226
+
227
+ ### 连接参数环境变量
228
+
229
+ | 环境变量 | 对应字段 | 说明 |
230
+ |:--|:--|:--|
231
+ | `CLICKZETTA_SERVICE` | `service` | API 服务地址 |
232
+ | `CLICKZETTA_USERNAME` | `username` | 用户名 |
233
+ | `CLICKZETTA_PASSWORD` | `password` | 密码 |
234
+ | `CLICKZETTA_INSTANCE` | `instance` | 实例名称 |
235
+ | `CLICKZETTA_WORKSPACE` | `workspace` | 工作空间 |
236
+ | `CLICKZETTA_SCHEMA` | `schema` | 默认 Schema |
237
+ | `CLICKZETTA_VCLUSTER` | `vcluster` | 虚拟集群(默认 `default_ap`) |
238
+
239
+ ### 系统配置环境变量覆盖
240
+
241
+ 以下环境变量可覆盖 `system_config` 中的对应配置(优先级最高):
242
+
243
+ | 环境变量 | 对应配置 | 示例值 |
244
+ |:--|:--|:--|
245
+ | `MCP_ALLOW_WRITE` | `allow_write` | `"true"` / `"false"` |
246
+ | `MCP_PREFETCH` | `prefetch` | `"true"` / `"false"` |
247
+ | `MCP_LOG_LEVEL` | `log_level` | `"DEBUG"` / `"INFO"` / `"WARNING"` / `"ERROR"` |
248
+ | `MCP_EXCLUDE_TOOLS` | `exclude_tools` | `"tool1,tool2,tool3"` |
249
+
250
+ ### 相似度搜索环境变量
251
+
252
+ | 环境变量 | 对应配置 |
253
+ |:--|:--|
254
+ | `Similar_table_name` | `similar_search.table_name` |
255
+ | `Similar_embedding_column_name` | `similar_search.embedding_column_name` |
256
+ | `Similar_content_column_name` | `similar_search.content_column_name` |
257
+ | `Similar_other_columns_name` | `similar_search.other_columns_name` |
258
+ | `Similar_partition_scope` | `similar_search.partition_scope` |
259
+
260
+ ### 云存储环境变量
261
+
262
+ | 环境变量 | 对应配置 |
263
+ |:--|:--|
264
+ | `AWS_ACCESS_KEY_ID` | `cloud_storage.aws_access_key_id` |
265
+ | `AWS_SECRET_ACCESS_KEY` | `cloud_storage.aws_secret_access_key` |
266
+ | `AWS_REGION` | `cloud_storage.aws_region` |
267
+
268
+ ### 配置优先级
269
+
270
+ 系统配置的加载优先级(从高到低):
271
+
272
+ 1. **环境变量**(最高优先级)
273
+ 2. **配置文件中的 `system_config`**
274
+ 3. **内置默认值**(最低优先级)
275
+
276
+ ---
277
+
278
+ ## Docker / Kubernetes 部署配置
279
+
280
+ ### docker-compose.yml
281
+
282
+ ```yaml
283
+ services:
284
+ mcp-server:
285
+ image: mcp-clickzetta-server:latest
286
+ volumes:
287
+ # 推荐:挂载到统一路径(优先级 1)
288
+ - ./config/connections.json:/app/.clickzetta/lakehouse_connection/connections.json:ro
289
+ environment:
290
+ # 可选:通过环境变量覆盖系统配置
291
+ - MCP_ALLOW_WRITE=false
292
+ - MCP_LOG_LEVEL=INFO
293
+ ```
294
+
295
+ ### 使用旧版路径
296
+
297
+ ```yaml
298
+ services:
299
+ mcp-server:
300
+ image: mcp-clickzetta-server:latest
301
+ volumes:
302
+ # 旧版兼容路径(优先级 2)
303
+ - ./config/connections.json:/app/config/lakehouse_connection/connections.json:ro
304
+ ```
305
+
306
+ ### Kubernetes ConfigMap
307
+
308
+ ```yaml
309
+ apiVersion: v1
310
+ kind: ConfigMap
311
+ metadata:
312
+ name: clickzetta-config
313
+ data:
314
+ connections.json: |
315
+ {
316
+ "connections": [
317
+ {
318
+ "is_default": true,
319
+ "connection_name": "prod",
320
+ "service": "cn-shanghai-alicloud.api.clickzetta.com",
321
+ "username": "prod_user",
322
+ "password": "prod_password",
323
+ "instance": "prod_instance",
324
+ "workspace": "prod_workspace",
325
+ "schema": "public",
326
+ "vcluster": "default_ap"
327
+ }
328
+ ],
329
+ "system_config": {
330
+ "allow_write": false,
331
+ "log_level": "WARNING"
332
+ }
333
+ }
334
+ ---
335
+ apiVersion: apps/v1
336
+ kind: Deployment
337
+ metadata:
338
+ name: mcp-server
339
+ spec:
340
+ template:
341
+ spec:
342
+ containers:
343
+ - name: mcp-server
344
+ volumeMounts:
345
+ - name: config
346
+ mountPath: /app/.clickzetta/lakehouse_connection/connections.json
347
+ subPath: connections.json
348
+ readOnly: true
349
+ volumes:
350
+ - name: config
351
+ configMap:
352
+ name: clickzetta-config
353
+ ```
354
+
355
+ > **安全提示**:生产环境建议使用 Kubernetes Secret 替代 ConfigMap 存储密码。
356
+
357
+ ---
358
+
359
+ ## system_config 参数说明
360
+
361
+ ### 核心参数
362
+
363
+ | 参数 | 类型 | 默认值 | 说明 |
364
+ |:--|:--|:--|:--|
365
+ | `allow_write` | boolean | `false` | 是否允许写操作(INSERT/UPDATE/DELETE) |
366
+ | `prefetch` | boolean | `true` | 是否启用数据预取 |
367
+ | `log_level` | string | `"INFO"` | 日志级别:`DEBUG` / `INFO` / `WARNING` / `ERROR` |
368
+ | `exclude_tools` | array | `[]` | 需要排除的工具列表 |
369
+
370
+ ---
371
+
372
+ ## 适用场景
373
+
374
+ | 场景 | 推荐配置方式 | 说明 |
375
+ |:--|:--|:--|
376
+ | 本地开发 | `~/.clickzetta/connections.json` | 用户主目录,个人配置 |
377
+ | 团队共享 | `config/lakehouse_connection/connections.json` | 项目目录,可纳入版本管理 |
378
+ | Docker 部署 | 挂载到 `/app/.clickzetta/lakehouse_connection/` | 统一路径,推荐方式 |
379
+ | Kubernetes | ConfigMap / Secret | 声明式配置管理 |
380
+ | CI/CD 流水线 | 环境变量 | 无需配置文件,适合自动化 |
381
+ | 多环境切换 | 多连接 + `switch_connection()` | 在同一配置文件中管理多个环境 |
382
+
383
+ ---
384
+
385
+ ## 常见问题排查
386
+
387
+ ### 配置文件未找到
388
+
389
+ ```
390
+ WARNING: 未找到任何可用的配置文件
391
+ ```
392
+
393
+ **解决方案**:
394
+ 1. 确认文件存在于五级搜索路径之一
395
+ 2. 检查文件权限:`chmod 600 connections.json`
396
+ 3. Docker 环境检查挂载是否正确
397
+
398
+ ### JSON 格式错误
399
+
400
+ ```
401
+ ERROR: 配置文件JSON格式错误
402
+ ```
403
+
404
+ **解决方案**:
405
+ 1. 使用 JSON 验证工具检查格式
406
+ 2. 确保所有字符串使用双引号
407
+ 3. 检查是否有多余的逗号
408
+ 4. 确保中文字符使用 UTF-8 编码保存
409
+
410
+ ### 连接配置缺少必需字段
411
+
412
+ 每个连接必须包含以下 7 个必需字段:
413
+
414
+ ```
415
+ connection_name, service, username, password, instance, workspace, schema
416
+ ```
417
+
418
+ ### 占位配置被跳过
419
+
420
+ `service` 设置为 `"not_configured"` 的连接会被自动跳过。确保所有生产连接都配置了正确的 `service` 地址。
421
+
422
+ ---
423
+
424
+ ## 完整配置模板
425
+
426
+ 参考项目中的模板文件:`config/connections-template.json`
427
+
428
+ ```bash
429
+ # 复制模板并修改
430
+ cp config/connections-template.json ~/.clickzetta/connections.json
431
+ # 编辑配置
432
+ vim ~/.clickzetta/connections.json
433
+ # 设置文件权限(保护密码)
434
+ chmod 600 ~/.clickzetta/connections.json
435
+ ```