@thinkingai/ae-cli 1.0.1 → 1.0.15

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 (259) hide show
  1. package/README.md +38 -64
  2. package/README.zh.md +203 -0
  3. package/dist/{auth-JXELJNDS.js → auth-4GAHTBVH.js} +2 -2
  4. package/dist/{auth-L3G3A74I.js → auth-U2GHFMFY.js} +20 -6
  5. package/dist/{chunk-OVQOK35G.js → chunk-EBFUVWIZ.js} +25 -6
  6. package/dist/{chunk-3GM5LJZR.js → chunk-OQ4XEG77.js} +7 -4
  7. package/dist/{chunk-JD5DXMKL.js → chunk-TJIMDNAU.js} +10 -8
  8. package/dist/{chunk-RJNLN3KQ.js → chunk-UK6HO5O5.js} +7 -6
  9. package/dist/{client-5QSQBBDB.js → client-HU63573O.js} +3 -3
  10. package/dist/{config-Q7J3Z7Z2.js → config-OLF7RBPM.js} +5 -5
  11. package/dist/index.js +18 -17
  12. package/dist/{raw-ZNVURYMR.js → raw-GDO4IWNW.js} +8 -6
  13. package/dist/{te-analysis-7NN3SY3I.js → te-analysis-ZDJXMWZY.js} +64 -26
  14. package/dist/{te-audience-P43BWMHM.js → te-audience-T5B52EEB.js} +65 -25
  15. package/dist/{te-common-H3IPTI2I.js → te-common-BPTXXTHQ.js} +11 -38
  16. package/dist/{community-GMALVSRF.js → te-community-FPB5LH56.js} +59 -59
  17. package/dist/{te-dataops-WCGDBJLF.js → te-dataops-2NUJVG47.js} +3 -28
  18. package/dist/{te-engage-UTRVNTGU.js → te-engage-K3EANZ5P.js} +502 -520
  19. package/dist/{te-meta-HGYNXVGF.js → te-meta-JJMV75KB.js} +88 -20
  20. package/package.json +9 -7
  21. package/skills/ae-analysis/SKILL.md +229 -0
  22. package/skills/{te-meta/references/batch-create-metadata.md → ae-analysis/references/batch_create_metadata.md} +5 -5
  23. package/skills/{te-meta/references/batch-edit-metadata.md → ae-analysis/references/batch_edit_metadata.md} +4 -4
  24. package/skills/{te-analysis/references/build-entity-details-sql.md → ae-analysis/references/build_entity_details_sql.md} +14 -14
  25. package/skills/{te-analysis/references/build-event-details-sql.md → ae-analysis/references/build_event_details_sql.md} +14 -14
  26. package/skills/{te-analysis/references/create-alert.md → ae-analysis/references/create_alert.md} +7 -7
  27. package/skills/{te-audience/references/create-cluster.md → ae-analysis/references/create_cluster.md} +26 -22
  28. package/skills/{te-analysis/references/create-dashboard.md → ae-analysis/references/create_dashboard.md} +5 -5
  29. package/skills/{te-meta/references/create-metric.md → ae-analysis/references/create_metric.md} +16 -16
  30. package/skills/{te-analysis/references/create-or-update-dashboard-note.md → ae-analysis/references/create_or_update_dashboard_note.md} +5 -5
  31. package/skills/{te-meta/references/create-project-mark-time.md → ae-analysis/references/create_project_mark_time.md} +5 -5
  32. package/skills/{te-analysis/references/create-public-access-link.md → ae-analysis/references/create_public_access_link.md} +5 -5
  33. package/skills/{te-analysis/references/create-report.md → ae-analysis/references/create_report.md} +14 -14
  34. package/skills/{te-analysis/references/create-result-cluster.md → ae-analysis/references/create_result_cluster.md} +8 -8
  35. package/skills/{te-audience/references/create-tag.md → ae-analysis/references/create_tag.md} +18 -17
  36. package/skills/{te-meta/references/create-virtual-event.md → ae-analysis/references/create_virtual_event.md} +14 -14
  37. package/skills/{te-meta/references/create-virtual-property.md → ae-analysis/references/create_virtual_property.md} +11 -11
  38. package/skills/{te-meta/references/delete-project-mark-times.md → ae-analysis/references/delete_project_mark_times.md} +4 -4
  39. package/skills/{te-meta/references/delete-track-items.md → ae-analysis/references/delete_track_items.md} +4 -4
  40. package/skills/{te-analysis/references/drilldown-user-events.md → ae-analysis/references/drilldown_user_events.md} +11 -11
  41. package/skills/{te-analysis/references/drilldown-users.md → ae-analysis/references/drilldown_users.md} +12 -9
  42. package/skills/ae-analysis/references/generate_track_program.md +51 -0
  43. package/skills/ae-analysis/references/generate_track_sdk_sample.md +43 -0
  44. package/skills/{te-analysis/references/get-alert.md → ae-analysis/references/get_alert.md} +4 -4
  45. package/skills/{te-analysis/references/get-alert-definition-schema.md → ae-analysis/references/get_alert_definition_schema.md} +4 -4
  46. package/skills/ae-analysis/references/get_analysis_query_schema.md +61 -0
  47. package/skills/ae-analysis/references/get_cluster_definition_schema.md +53 -0
  48. package/skills/ae-analysis/references/get_clusters_by_name.md +69 -0
  49. package/skills/{te-analysis/references/get-filter-schema.md → ae-analysis/references/get_filter_schema.md} +4 -4
  50. package/skills/{te-analysis/references/get-groupby-schema.md → ae-analysis/references/get_groupby_schema.md} +4 -4
  51. package/skills/{te-meta/references/get-metric.md → ae-analysis/references/get_metric.md} +4 -4
  52. package/skills/{te-meta/references/get-project-config.md → ae-analysis/references/get_project_config.md} +4 -4
  53. package/skills/{te-analysis/references/get-report-definition.md → ae-analysis/references/get_report_definition.md} +4 -4
  54. package/skills/{te-common/references/get-resource-url.md → ae-analysis/references/get_resource_url.md} +7 -7
  55. package/skills/{te-analysis/references/get-table-columns.md → ae-analysis/references/get_table_columns.md} +4 -4
  56. package/skills/ae-analysis/references/get_tag_definition_schema.md +49 -0
  57. package/skills/ae-analysis/references/get_tags_by_name.md +69 -0
  58. package/skills/{te-meta/references/get-track-program.md → ae-analysis/references/get_track_program.md} +4 -4
  59. package/skills/{te-analysis/references/list-alerts.md → ae-analysis/references/list_alerts.md} +8 -5
  60. package/skills/{te-audience/references/list-cluster-members.md → ae-analysis/references/list_cluster_members.md} +13 -6
  61. package/skills/{te-audience/references/list-clusters.md → ae-analysis/references/list_clusters.md} +12 -6
  62. package/skills/{te-analysis/references/list-dashboards.md → ae-analysis/references/list_dashboards.md} +10 -6
  63. package/skills/{te-meta/references/list-entities.md → ae-analysis/references/list_entities.md} +12 -5
  64. package/skills/{te-meta/references/list-events.md → ae-analysis/references/list_events.md} +10 -7
  65. package/skills/ae-analysis/references/list_metrics.md +41 -0
  66. package/skills/ae-analysis/references/list_project_mark_times.md +42 -0
  67. package/skills/{te-meta/references/list-project-users.md → ae-analysis/references/list_project_users.md} +4 -4
  68. package/skills/{te-common/references/list-projects.md → ae-analysis/references/list_projects.md} +9 -7
  69. package/skills/{te-meta/references/list-properties.md → ae-analysis/references/list_properties.md} +11 -6
  70. package/skills/ae-analysis/references/list_public_access_links.md +41 -0
  71. package/skills/{te-analysis/references/list-reports.md → ae-analysis/references/list_reports.md} +10 -6
  72. package/skills/{te-audience/references/list-tag-members.md → ae-analysis/references/list_tag_members.md} +13 -6
  73. package/skills/{te-audience/references/list-tags.md → ae-analysis/references/list_tags.md} +12 -6
  74. package/skills/{te-analysis/references/load-filters.md → ae-analysis/references/load_filters.md} +5 -5
  75. package/skills/{te-analysis/references/query-adhoc.md → ae-analysis/references/query_adhoc.md} +19 -14
  76. package/skills/{te-analysis/references/query-dashboard-detail.md → ae-analysis/references/query_dashboard_detail.md} +4 -4
  77. package/skills/{te-analysis/references/query-dashboard-report-data.md → ae-analysis/references/query_dashboard_report_data.md} +13 -13
  78. package/skills/{te-analysis/references/query-entity-details.md → ae-analysis/references/query_entity_details.md} +15 -15
  79. package/skills/{te-analysis/references/query-event-details.md → ae-analysis/references/query_event_details.md} +17 -17
  80. package/skills/{te-analysis/references/query-report-data.md → ae-analysis/references/query_report_data.md} +16 -16
  81. package/skills/{te-audience/references/refresh-cluster.md → ae-analysis/references/refresh_cluster.md} +4 -4
  82. package/skills/{te-audience/references/refresh-tag.md → ae-analysis/references/refresh_tag.md} +4 -4
  83. package/skills/{te-meta/references/save-track-items.md → ae-analysis/references/save_track_items.md} +4 -4
  84. package/skills/{te-analysis/references/update-alert.md → ae-analysis/references/update_alert.md} +7 -7
  85. package/skills/{te-audience/references/update-cluster.md → ae-analysis/references/update_cluster.md} +17 -15
  86. package/skills/{te-analysis/references/update-dashboard.md → ae-analysis/references/update_dashboard.md} +5 -5
  87. package/skills/{te-meta/references/update-metric.md → ae-analysis/references/update_metric.md} +14 -14
  88. package/skills/{te-meta/references/update-project-mark-time.md → ae-analysis/references/update_project_mark_time.md} +5 -5
  89. package/skills/{te-analysis/references/update-public-access-link.md → ae-analysis/references/update_public_access_link.md} +5 -5
  90. package/skills/{te-audience/references/update-tag.md → ae-analysis/references/update_tag.md} +17 -16
  91. package/skills/ae-community/SKILL.md +305 -0
  92. package/skills/ae-community/references/community-activity-analysis.md +67 -0
  93. package/skills/ae-community/references/community-analyzing-official-content.md +71 -0
  94. package/skills/ae-community/references/community-analyzing-theme-comment.md +123 -0
  95. package/skills/ae-community/references/community-character-analysis.md +70 -0
  96. package/skills/ae-community/references/community-daily-report.md +84 -0
  97. package/skills/ae-community/references/community-hottopic-insight.md +113 -0
  98. package/skills/ae-community/references/community-weekly-report.md +84 -0
  99. package/skills/ae-community/references/get_channel_info.md +20 -0
  100. package/skills/ae-community/references/get_comment_tag_analysis.md +29 -0
  101. package/skills/ae-community/references/get_comments_summary.md +32 -0
  102. package/skills/ae-community/references/get_corpus_tags.md +20 -0
  103. package/skills/ae-community/references/get_daily_summary.md +22 -0
  104. package/skills/ae-community/references/get_hot_topics.md +25 -0
  105. package/skills/ae-community/references/get_livestream_analysis.md +22 -0
  106. package/skills/ae-community/references/get_livestream_detail.md +33 -0
  107. package/skills/ae-community/references/get_livestream_list.md +25 -0
  108. package/skills/ae-community/references/get_livestream_overview.md +24 -0
  109. package/skills/ae-community/references/get_livestream_room_metrics.md +25 -0
  110. package/skills/ae-community/references/get_livestream_rooms.md +25 -0
  111. package/skills/ae-community/references/get_overview_metrics.md +25 -0
  112. package/skills/ae-community/references/get_post_detail.md +37 -0
  113. package/skills/ae-community/references/get_risk_content.md +42 -0
  114. package/skills/ae-community/references/get_sentiment_overview.md +33 -0
  115. package/skills/ae-community/references/get_tag_trends.md +27 -0
  116. package/skills/ae-community/references/get_topic_detail.md +26 -0
  117. package/skills/ae-community/references/search_posts.md +47 -0
  118. package/skills/ae-dataops/SKILL.md +706 -0
  119. package/skills/ae-dataops/references/dataops-flow-create.md +163 -0
  120. package/skills/ae-dataops/references/dataops-flow-monitor.md +118 -0
  121. package/skills/ae-dataops/references/dataops-integration.md +251 -0
  122. package/skills/ae-dataops/references/dataops-query.md +111 -0
  123. package/skills/ae-dataops/references/dataops-table.md +122 -0
  124. package/skills/ae-engage/SKILL.md +311 -0
  125. package/skills/ae-engage/references/add-approver.md +24 -0
  126. package/skills/ae-engage/references/add-channel.md +74 -0
  127. package/skills/ae-engage/references/approver-list.md +19 -0
  128. package/skills/ae-engage/references/cancel-query-by-request-id.md +23 -0
  129. package/skills/ae-engage/references/channel-detail.md +52 -0
  130. package/skills/ae-engage/references/channel-list.md +41 -0
  131. package/skills/ae-engage/references/config-channel-detail.md +32 -0
  132. package/skills/ae-engage/references/config-channel-list.md +27 -0
  133. package/skills/ae-engage/references/config-item-analysis-report.md +34 -0
  134. package/skills/ae-engage/references/config-item-detail.md +30 -0
  135. package/skills/ae-engage/references/config-item-list.md +19 -0
  136. package/skills/ae-engage/references/config-item-strategy-comparison.md +25 -0
  137. package/skills/ae-engage/references/config-item-trigger-report.md +42 -0
  138. package/skills/ae-engage/references/copy-config-template.md +29 -0
  139. package/skills/ae-engage/references/delete-channel.md +24 -0
  140. package/skills/ae-engage/references/delete-config-channel.md +24 -0
  141. package/skills/ae-engage/references/delete-config-item.md +25 -0
  142. package/skills/ae-engage/references/delete-flow.md +24 -0
  143. package/skills/ae-engage/references/flow-ab-split-node-report.md +54 -0
  144. package/skills/ae-engage/references/flow-detail.md +79 -0
  145. package/skills/ae-engage/references/flow-list.md +19 -0
  146. package/skills/ae-engage/references/flow-node-config-schema.md +44 -0
  147. package/skills/ae-engage/references/flow-node-detail-report.md +55 -0
  148. package/skills/ae-engage/references/flow-node-overview-report.md +52 -0
  149. package/skills/ae-engage/references/flow-process-report.md +59 -0
  150. package/skills/ae-engage/references/manage-flow.md +94 -0
  151. package/skills/ae-engage/references/manage-strategy.md +74 -0
  152. package/skills/ae-engage/references/manage-task.md +37 -0
  153. package/skills/ae-engage/references/modify-flow-base-info.md +27 -0
  154. package/skills/ae-engage/references/save-flow.md +871 -0
  155. package/skills/ae-engage/references/strategy-detail.md +73 -0
  156. package/skills/ae-engage/references/strategy-list.md +21 -0
  157. package/skills/ae-engage/references/task-data-detail.md +74 -0
  158. package/skills/ae-engage/references/task-data-overview.md +42 -0
  159. package/skills/ae-engage/references/task-detail.md +61 -0
  160. package/skills/ae-engage/references/task-experiment-report.md +45 -0
  161. package/skills/ae-engage/references/task-list.md +91 -0
  162. package/skills/ae-engage/references/task-metric-detail.md +50 -0
  163. package/skills/ae-engage/references/task-stats.md +89 -0
  164. package/skills/ae-engage/references/update-channel-status.md +32 -0
  165. package/skills/ae-engage/references/update-config-channel-status.md +32 -0
  166. package/skills/ae-engage/references/validate-flow-node-config.md +52 -0
  167. package/skills/ae-engage/references/whitelist-list.md +19 -0
  168. package/skills/te-analysis/SKILL.md +0 -107
  169. package/skills/te-analysis/references/get-analysis-query-schema.md +0 -36
  170. package/skills/te-analysis/references/list-public-access-links.md +0 -31
  171. package/skills/te-audience/SKILL.md +0 -63
  172. package/skills/te-audience/references/get-cluster-definition-schema.md +0 -37
  173. package/skills/te-audience/references/get-clusters-by-name.md +0 -32
  174. package/skills/te-audience/references/get-tag-definition-schema.md +0 -32
  175. package/skills/te-audience/references/get-tags-by-name.md +0 -32
  176. package/skills/te-common/SKILL.md +0 -135
  177. package/skills/te-community/SKILL.md +0 -133
  178. package/skills/te-community/references/community-activity-analysis.md +0 -68
  179. package/skills/te-community/references/community-analyzing-official-content.md +0 -72
  180. package/skills/te-community/references/community-analyzing-theme-comment.md +0 -124
  181. package/skills/te-community/references/community-character-analysis.md +0 -71
  182. package/skills/te-community/references/community-daily-report.md +0 -82
  183. package/skills/te-community/references/community-hottopic-insight.md +0 -120
  184. package/skills/te-community/references/community-release-analysis.md +0 -79
  185. package/skills/te-community/references/community-weekly-report.md +0 -84
  186. package/skills/te-community/references/get_channel_info.md +0 -21
  187. package/skills/te-community/references/get_comment_tag_analysis.md +0 -30
  188. package/skills/te-community/references/get_comments_summary.md +0 -33
  189. package/skills/te-community/references/get_corpus_tags.md +0 -21
  190. package/skills/te-community/references/get_daily_summary.md +0 -23
  191. package/skills/te-community/references/get_hot_topics.md +0 -26
  192. package/skills/te-community/references/get_livestream_analysis.md +0 -23
  193. package/skills/te-community/references/get_livestream_detail.md +0 -34
  194. package/skills/te-community/references/get_livestream_list.md +0 -26
  195. package/skills/te-community/references/get_livestream_overview.md +0 -25
  196. package/skills/te-community/references/get_livestream_room_metrics.md +0 -26
  197. package/skills/te-community/references/get_livestream_rooms.md +0 -26
  198. package/skills/te-community/references/get_overview_metrics.md +0 -26
  199. package/skills/te-community/references/get_post_detail.md +0 -38
  200. package/skills/te-community/references/get_risk_content.md +0 -43
  201. package/skills/te-community/references/get_sentiment_overview.md +0 -34
  202. package/skills/te-community/references/get_tag_trends.md +0 -28
  203. package/skills/te-community/references/get_topic_detail.md +0 -27
  204. package/skills/te-community/references/search_posts.md +0 -48
  205. package/skills/te-dataops/SKILL.md +0 -645
  206. package/skills/te-dataops/references/dataops-flow-create.md +0 -163
  207. package/skills/te-dataops/references/dataops-flow-monitor.md +0 -118
  208. package/skills/te-dataops/references/dataops-integration.md +0 -246
  209. package/skills/te-dataops/references/dataops-operations.md +0 -107
  210. package/skills/te-dataops/references/dataops-query.md +0 -111
  211. package/skills/te-dataops/references/dataops-table.md +0 -122
  212. package/skills/te-engage/SKILL.md +0 -211
  213. package/skills/te-engage/references/add-approver.md +0 -24
  214. package/skills/te-engage/references/add-channel.md +0 -74
  215. package/skills/te-engage/references/approver-list.md +0 -19
  216. package/skills/te-engage/references/cancel-query-by-request-id.md +0 -23
  217. package/skills/te-engage/references/channel-detail.md +0 -52
  218. package/skills/te-engage/references/channel-list.md +0 -41
  219. package/skills/te-engage/references/config-channel-detail.md +0 -32
  220. package/skills/te-engage/references/config-channel-list.md +0 -27
  221. package/skills/te-engage/references/config-item-analysis-report.md +0 -34
  222. package/skills/te-engage/references/config-item-detail.md +0 -30
  223. package/skills/te-engage/references/config-item-list.md +0 -19
  224. package/skills/te-engage/references/config-item-strategy-comparison.md +0 -25
  225. package/skills/te-engage/references/config-item-trigger-report.md +0 -42
  226. package/skills/te-engage/references/copy-config-template.md +0 -29
  227. package/skills/te-engage/references/delete-channel.md +0 -24
  228. package/skills/te-engage/references/delete-config-channel.md +0 -24
  229. package/skills/te-engage/references/delete-config-item.md +0 -25
  230. package/skills/te-engage/references/delete-flow.md +0 -24
  231. package/skills/te-engage/references/flow-ab-split-node-report.md +0 -54
  232. package/skills/te-engage/references/flow-detail.md +0 -79
  233. package/skills/te-engage/references/flow-list.md +0 -19
  234. package/skills/te-engage/references/flow-node-config-schema.md +0 -44
  235. package/skills/te-engage/references/flow-node-detail-report.md +0 -55
  236. package/skills/te-engage/references/flow-node-overview-report.md +0 -52
  237. package/skills/te-engage/references/flow-process-report.md +0 -59
  238. package/skills/te-engage/references/manage-flow.md +0 -94
  239. package/skills/te-engage/references/manage-strategy.md +0 -74
  240. package/skills/te-engage/references/manage-task.md +0 -37
  241. package/skills/te-engage/references/modify-flow-base-info.md +0 -27
  242. package/skills/te-engage/references/save-flow.md +0 -870
  243. package/skills/te-engage/references/strategy-detail.md +0 -73
  244. package/skills/te-engage/references/strategy-list.md +0 -21
  245. package/skills/te-engage/references/task-data-detail.md +0 -81
  246. package/skills/te-engage/references/task-data-overview.md +0 -48
  247. package/skills/te-engage/references/task-detail.md +0 -61
  248. package/skills/te-engage/references/task-experiment-report.md +0 -51
  249. package/skills/te-engage/references/task-list.md +0 -91
  250. package/skills/te-engage/references/task-metric-detail.md +0 -56
  251. package/skills/te-engage/references/task-stats.md +0 -89
  252. package/skills/te-engage/references/update-channel-status.md +0 -32
  253. package/skills/te-engage/references/update-config-channel-status.md +0 -32
  254. package/skills/te-engage/references/validate-flow-node-config.md +0 -52
  255. package/skills/te-engage/references/whitelist-list.md +0 -19
  256. package/skills/te-meta/SKILL.md +0 -71
  257. package/skills/te-meta/references/list-metrics.md +0 -33
  258. package/skills/te-meta/references/list-project-mark-times.md +0 -33
  259. package/skills/te-shared/SKILL.md +0 -115
@@ -0,0 +1,163 @@
1
+ ---
2
+ name: dataops-flow-create
3
+ version: 1.0.0
4
+ description: "Flow creation and configuration: create flows, add task nodes, configure dependencies, save task definitions, configure scheduling, test, and release to production. Trigger keywords: create flow, new workflow, configure schedule, add task node, release, cron, scheduled execution."
5
+ metadata:
6
+ requires:
7
+ bins: ["ae-cli"]
8
+ ---
9
+
10
+ # DataOps Flow Creation and Configuration
11
+
12
+ > **Prerequisites:** Read [`ae-dataops/SKILL.md`](../SKILL.md) for general rules.
13
+
14
+ Use the `dataops_flow` subcommand to manage flow lifecycle.
15
+
16
+ **Flow Lifecycle: Create → Configure Nodes → Configure Schedule → Test in DEV → Release to PROD → Online Schedule**
17
+
18
+ ---
19
+
20
+ ## Complete Flow Creation Process
21
+
22
+ Follow these steps in order to create a production-ready flow from scratch.
23
+
24
+ ### Step 1: Create Flow
25
+
26
+ ```bash
27
+ ae-cli dataops_flow +create_flow --spaceCode "${spaceCode}" \
28
+ --flowName "Daily ETL Process" --remark "Process user data" --confirmed true
29
+ # Returns flowCode, required for subsequent steps
30
+ ```
31
+
32
+ ### Step 2: Create Task Nodes (can be called multiple times)
33
+
34
+ ```bash
35
+ # Create SQL task
36
+ ae-cli dataops_flow +create_task --spaceCode "${spaceCode}" \
37
+ --flowCode "${flowCode}" --taskName "Process User Data" --taskType "TRINO_SQL" --confirmed true
38
+ # Returns taskCode
39
+
40
+ # Create task with upstream dependency
41
+ ae-cli dataops_flow +create_task --spaceCode "${spaceCode}" \
42
+ --flowCode "${flowCode}" --taskName "Export Results" --taskType "TRINO_SQL" \
43
+ --preTaskCode "${upstreamTaskCode}" --confirmed true
44
+ ```
45
+
46
+ **Task Node Types:**
47
+
48
+ | Type | Description | Typical Use |
49
+ |------|-------------|-------------|
50
+ | TRINO_SQL | Trino SQL query | Data processing, ETL |
51
+ | SHELL | Shell script | System commands, file operations |
52
+ | FLOW_CHECK | Flow check | Check if upstream flow is complete |
53
+ | TASK_CHECK | Task check | Check if specified task is complete |
54
+ | OFFLINE_SYNC | Offline sync | Integration solution data sync (requires syncId) |
55
+ | APP_SYNC | App sync | App table data sync (requires syncId) |
56
+ | PLACE_HOLDER | Placeholder | Flow control, logical grouping |
57
+
58
+ ### Step 3: Save Task Definition (configure SQL/Shell content)
59
+
60
+ ```bash
61
+ # SQL task
62
+ ae-cli dataops_flow +save_task_definition --spaceCode "${spaceCode}" \
63
+ --flowCode "${flowCode}" --taskCode "${taskCode}" \
64
+ --taskContentJson '{"sql":"SELECT * FROM dwd_user","repoCode":"te_etl","catalog":"hive","schema":"ws_default_dev"}' \
65
+ --failRetryTimes 3 --failRetryInterval 30 --timeout 60 --confirmed true
66
+
67
+ # Shell task
68
+ ae-cli dataops_flow +save_task_definition --spaceCode "${spaceCode}" \
69
+ --flowCode "${flowCode}" --taskCode "${taskCode}" \
70
+ --taskContentJson '{"script":"#!/bin/bash\necho hello"}' \
71
+ --confirmed true
72
+ ```
73
+
74
+ ### Step 4: Validate SQL (recommended, TRINO_SQL type only)
75
+
76
+ ```bash
77
+ ae-cli dataops_flow +validate_task_sql --spaceCode "${spaceCode}" \
78
+ --flowCode "${flowCode}" --taskCode "${taskCode}" \
79
+ --sql "SELECT * FROM dwd_user" --repoCode "te_etl" \
80
+ --catalog "hive" --schema "ws_default_dev"
81
+ # Check valid=true, otherwise review message and errorPosition
82
+ ```
83
+
84
+ ### Step 5: Add Task Dependencies (DAG connections)
85
+
86
+ ```bash
87
+ ae-cli dataops_flow +add_task_relation --spaceCode "${spaceCode}" \
88
+ --flowCode "${flowCode}" --preTaskCode "${upstreamTaskCode}" --taskCode "${downstreamTaskCode}" \
89
+ --confirmed true
90
+ ```
91
+
92
+ ### Step 6: Configure Schedule
93
+
94
+ ```bash
95
+ # CRON expression for scheduled execution
96
+ ae-cli dataops_flow +save_schedule_config --spaceCode "${spaceCode}" \
97
+ --flowCode "${flowCode}" --scheduled 1 --scheduleType "CRON" \
98
+ --cron "0 0 2 * * ?" --confirmed true
99
+ # Example: 0 0 2 * * ? = Daily at 2 AM
100
+ ```
101
+
102
+ **CRON Format** (6 fields): `second minute hour day month weekday`
103
+ - `0 0 */4 * * ?` — Every 4 hours
104
+ - `0 30 8 * * 1-5` — Weekdays at 8:30
105
+
106
+ ### Step 7: Test in DEV Environment
107
+
108
+ ```bash
109
+ # Manually trigger execution
110
+ ae-cli dataops_flow +execute_flow --spaceCode "${spaceCode}" \
111
+ --flowCode "${flowCode}" --env "DEV" --confirmed true
112
+
113
+ # Check execution status
114
+ ae-cli dataops_flow +get_execute_dag --spaceCode "${spaceCode}" --executeId "${executeId}"
115
+
116
+ # View task logs (get bsTaskInstanceId and taskCode from DAG)
117
+ ae-cli dataops_flow +get_task_instance_log --bsTaskInstanceId "${instanceId}" --taskCode "${taskCode}"
118
+
119
+ # Adjust configuration based on logs, then repeat testing
120
+ ```
121
+
122
+ ### Step 8: Release to Production
123
+
124
+ ```bash
125
+ ae-cli dataops_flow +release_flow --spaceCode "${spaceCode}" \
126
+ --flowCode "${flowCode}" --confirmed true
127
+ # After release, PROD schedule takes effect immediately without interrupting running instances
128
+ ```
129
+
130
+ ---
131
+
132
+ ## Command Quick Reference
133
+
134
+ | Command | Purpose | Key Flags |
135
+ |---------|---------|-----------|
136
+ | `+create_flow` | Create flow | `--spaceCode` `--flowName` `--remark` `--confirmed` |
137
+ | `+create_task` | Create task node | `--spaceCode` `--flowCode` `--taskName` `--taskType` `--syncId` `--preTaskCode` `--confirmed` |
138
+ | `+save_task_definition` | Save task definition | `--spaceCode` `--flowCode` `--taskCode` `--taskContentJson` `--failRetryTimes` `--failRetryInterval` `--timeout` `--confirmed` |
139
+ | `+validate_task_sql` | Validate SQL | `--spaceCode` `--flowCode` `--taskCode` `--sql` `--repoCode` `--catalog` `--schema` |
140
+ | `+add_task_relation` | Add dependency | `--spaceCode` `--flowCode` `--preTaskCode` `--taskCode` `--confirmed` |
141
+ | `+save_schedule_config` | Configure schedule | `--spaceCode` `--flowCode` `--scheduled` `--scheduleType` `--cron` `--confirmed` |
142
+ | `+get_flow_dag` | View DAG structure | `--spaceCode` `--flowCode` `--env` |
143
+ | `+get_task_params` | View task parameters | `--spaceCode` `--flowCode` `--taskCode` `--env` |
144
+ | `+execute_flow` | Manual execution | `--spaceCode` `--flowCode` `--env` `--confirmed` |
145
+ | `+get_execute_dag` | View runtime DAG | `--spaceCode` `--executeId` |
146
+ | `+get_task_instance_log` | View task logs | `--bsTaskInstanceId` `--taskCode` `--startOffset` `--limit` |
147
+ | `+release_flow` | Release to production | `--spaceCode` `--flowCode` `--confirmed` |
148
+
149
+ ## Parameter Notes
150
+
151
+ - **Parameter Reference**: Reference workspace parameters in tasks using `${paramKey}` (e.g., `${ws_run_date}`)
152
+ - **Environment**: `DEV` (default) | `PROD`
153
+ - **taskContentJson**: JSON string, format varies by taskType:
154
+ - TRINO_SQL: `{"sql":"SELECT ...","repoCode":"xxx","catalog":"hive","schema":"db"}`
155
+ - SHELL: `{"script":"#!/bin/bash\n..."}`
156
+
157
+ ## Important Notes
158
+
159
+ 1. **Getting flowCode**: Use `+list_flows` (see `dataops-flow-monitor` Skill)
160
+ 2. **Getting taskCode**: Returned by `+create_task` or query via `+get_flow_dag`
161
+ 3. **Release Impact**: Syncs all DEV changes to PROD, PROD schedule takes effect immediately
162
+ 4. **SQL Validation**: Recommended to validate before saving TRINO_SQL tasks
163
+ 5. **Cannot create circular dependencies**
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: dataops-flow-monitor
3
+ version: 1.0.0
4
+ description: "Flow execution and monitoring: view execution instances, runtime DAG, task logs, manually execute/stop flows. Trigger keywords: execute flow, running instance, monitor, logs, stop, DAG, troubleshoot, instance, flow instance."
5
+ metadata:
6
+ requires:
7
+ bins: ["ae-cli"]
8
+ ---
9
+
10
+ # DataOps Flow Execution and Monitoring
11
+
12
+ > **Prerequisites:** Read [`ae-dataops/SKILL.md`](../SKILL.md) for general rules.
13
+
14
+ Use the `dataops_flow` subcommand to execute and monitor flows.
15
+
16
+ **Core Concepts:**
17
+ - **executeId** — Execution record ID used by flow_* tools (obtained via `+list_flow_instances`)
18
+ - **flowInstanceId** — Operations instance ID used by operations_* tools (these two are not interchangeable)
19
+ - **Instance list queries PROD environment by default** (unlike other tools which default to DEV)
20
+
21
+ ---
22
+
23
+ ## Workflow A: Find and View Flow Execution Status
24
+
25
+ ```bash
26
+ # Step 1: Search flows (get flowCode)
27
+ ae-cli dataops_flow +list_flows --spaceCode "${spaceCode}" --keyword "etl"
28
+
29
+ # Step 2: View execution instance list (default PROD, sorted by time descending)
30
+ ae-cli dataops_flow +list_flow_instances --spaceCode "${spaceCode}" \
31
+ --flowCode "${flowCode}" --env "PROD" --size 30
32
+
33
+ # Step 3: View runtime DAG (with execution status for each node)
34
+ ae-cli dataops_flow +get_execute_dag --spaceCode "${spaceCode}" --executeId "${executeId}"
35
+
36
+ # Step 4: View execution record details
37
+ ae-cli dataops_flow +get_execute_record --spaceCode "${spaceCode}" --executeId "${executeId}"
38
+ ```
39
+
40
+ ---
41
+
42
+ ## Workflow B: Troubleshoot Task Failures
43
+
44
+ ```bash
45
+ # Step 1: Get runtime DAG, locate failed node
46
+ ae-cli dataops_flow +get_execute_dag --spaceCode "${spaceCode}" --executeId "${executeId}"
47
+ # Find node with status=FAILED, get its bsTaskInstanceId and taskCode
48
+
49
+ # Step 2: View failed task logs
50
+ ae-cli dataops_flow +get_task_instance_log --bsTaskInstanceId "${bsTaskInstanceId}" \
51
+ --taskCode "${taskCode}" --limit 100
52
+
53
+ # Step 3: View task definition (confirm SQL/configuration)
54
+ ae-cli dataops_flow +get_task_params --spaceCode "${spaceCode}" \
55
+ --flowCode "${flowCode}" --taskCode "${taskCode}"
56
+
57
+ # Step 4: Re-execute after fixing
58
+ ae-cli dataops_flow +execute_flow --spaceCode "${spaceCode}" \
59
+ --flowCode "${flowCode}" --env "DEV" --confirmed true
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Workflow C: Manual Execution and Stop
65
+
66
+ ```bash
67
+ # Manually trigger execution (default DEV, can specify PROD)
68
+ ae-cli dataops_flow +execute_flow --spaceCode "${spaceCode}" \
69
+ --flowCode "${flowCode}" --env "DEV" --confirmed true
70
+ # Returns executeId
71
+
72
+ # Monitor execution progress
73
+ ae-cli dataops_flow +get_execute_dag --spaceCode "${spaceCode}" --executeId "${executeId}"
74
+
75
+ # Stop execution if necessary (irreversible)
76
+ ae-cli dataops_flow +stop_flow --spaceCode "${spaceCode}" \
77
+ --flowCode "${flowCode}" --executeId "${executeId}" --confirmed true
78
+ ```
79
+
80
+ ---
81
+
82
+ ## Workflow D: View Flow Structure
83
+
84
+ ```bash
85
+ # View flow definition DAG (static structure, dependencies)
86
+ ae-cli dataops_flow +get_flow_dag --spaceCode "${spaceCode}" --flowCode "${flowCode}"
87
+
88
+ # View flow basic information
89
+ ae-cli dataops_flow +get_flow_detail --spaceCode "${spaceCode}" --flowCode "${flowCode}"
90
+
91
+ # View schedule configuration
92
+ ae-cli dataops_flow +get_schedule_config --spaceCode "${spaceCode}" --flowCode "${flowCode}"
93
+ ```
94
+
95
+ ---
96
+
97
+ ## Command Quick Reference
98
+
99
+ | Command | Purpose | Key Flags |
100
+ |---------|---------|-----------|
101
+ | `+list_flows` | Search flows | `--spaceCode` `--keyword` |
102
+ | `+get_flow_detail` | Flow information | `--spaceCode` `--flowCode` `--env` |
103
+ | `+get_flow_dag` | Definition DAG | `--spaceCode` `--flowCode` `--env` |
104
+ | `+get_schedule_config` | Schedule configuration | `--spaceCode` `--flowCode` `--env` |
105
+ | `+execute_flow` | Manual execution | `--spaceCode` `--flowCode` `--env` `--confirmed` |
106
+ | `+stop_flow` | Stop execution | `--spaceCode` `--flowCode` `--executeId` `--confirmed` |
107
+ | `+list_flow_instances` | Instance list | `--spaceCode` `--flowCode` `--env` `--size` |
108
+ | `+get_execute_record` | Execution record | `--spaceCode` `--executeId` |
109
+ | `+get_execute_dag` | Runtime DAG | `--spaceCode` `--executeId` |
110
+ | `+get_task_instance_log` | Task logs | `--bsTaskInstanceId` `--taskCode` `--startOffset` `--limit` |
111
+ | `+get_task_params` | Task parameters | `--spaceCode` `--flowCode` `--taskCode` `--env` |
112
+ | `+update_flow` | Update flow | `--spaceCode` `--flowCode` `--flowName` `--remark` `--confirmed` |
113
+
114
+ ## Parameter Notes
115
+
116
+ - **env**: `DEV` (development) | `PROD` (production, instance list defaults to PROD)
117
+ - **Task Status**: `success` / `failure` / `running` / `waiting`
118
+ - **DAG Difference**: `+get_flow_dag` returns static definition structure, `+get_execute_dag` returns runtime structure with execution status
@@ -0,0 +1,251 @@
1
+ ---
2
+ name: dataops-integration
3
+ version: 1.0.0
4
+ description: "Datasource and data integration: create datasources, create sync solutions, configure field mapping, execute sync, monitor sync. Trigger keywords: datasource, sync, integration, sync, field mapping, data ingestion, datasource, MySQL, ClickHouse."
5
+ metadata:
6
+ requires:
7
+ bins: ["ae-cli"]
8
+ ---
9
+
10
+ # DataOps Datasource and Data Integration
11
+
12
+ > **Prerequisites:** Read [`ae-dataops/SKILL.md`](../SKILL.md) for general rules.
13
+
14
+ Use the `dataops_integration` subcommand to manage datasources and sync solutions.
15
+
16
+ **Core Rules:**
17
+ - Configuration parameters differ significantly between preset repositories (te_etl) and non-preset repositories, must strictly follow templates
18
+ - sourceConfig/sinkConfig/channelConfig/fieldsMapping are all JSON strings
19
+ - Test datasource connection before creating sync solution
20
+
21
+ ---
22
+
23
+ ## Workflow A: Create Datasource
24
+
25
+ ```bash
26
+ # Step 1: View supported datasource component types
27
+ ae-cli dataops_integration +list_datasource_components
28
+
29
+ # Step 2: Test connection (temporary configuration, not saved)
30
+ ae-cli dataops_integration +test_datasource_connect --spaceCode "${spaceCode}" \
31
+ --componentName "MySQL" \
32
+ --configValue '{"host":"localhost","port":3306,"username":"root","password":"xxx","database":"test"}'
33
+
34
+ # Step 3: Create datasource
35
+ ae-cli dataops_integration +add_datasource --spaceCode "${spaceCode}" \
36
+ --componentName "MySQL" --dataSourceName "Production MySQL" \
37
+ --sharedConfig true \
38
+ --envJsonList '[{"host":"localhost","port":3306,"username":"root","password":"xxx"}]' \
39
+ --confirmed true
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Workflow B: Create Sync Solution (Complete Process)
45
+
46
+ ### Step 1: View Available Datasources
47
+
48
+ ```bash
49
+ # View all datasources in workspace
50
+ ae-cli dataops_integration +list_space_datasources --spaceCode "${spaceCode}"
51
+
52
+ # View datasources available for sync (categorized by source/sink)
53
+ ae-cli dataops_integration +list_sync_datasources --spaceCode "${spaceCode}"
54
+ ```
55
+
56
+ ### Step 2: Browse Source Table Structure
57
+
58
+ ```bash
59
+ # List databases under datasource
60
+ ae-cli dataops_integration +list_datasource_databases --spaceCode "${spaceCode}" \
61
+ --datasourceId "${datasourceId}"
62
+
63
+ # List tables under database
64
+ ae-cli dataops_integration +list_datasource_tables --spaceCode "${spaceCode}" \
65
+ --datasourceId "${datasourceId}" --database "test"
66
+
67
+ # Get table structure (column definitions, partitions)
68
+ ae-cli dataops_integration +get_table_structure --spaceCode "${spaceCode}" \
69
+ --datasourceId "${datasourceId}" --database "test" --tablePath "users"
70
+ ```
71
+
72
+ ### Step 3: Create Sync Solution
73
+
74
+ **Key: Must strictly follow JSON templates below to generate parameters**
75
+
76
+ ```bash
77
+ ae-cli dataops_integration +add_sync_solution --spaceCode "${spaceCode}" \
78
+ --syncName "MySQL to Preset Repository Sync" \
79
+ --srcComponent "MySQL" --srcDatasourceId "${mysqlDatasourceId}" \
80
+ --sinkComponent "hive" --sinkDatasourceId "te_etl@TASK_ENGINE_TRINO" \
81
+ --sourceConfig '{"component":"MySQL","datasourceId":"xxx","database":"test","tablePath":"users"}' \
82
+ --sinkConfig '{"component":"hive","datasourceId":"te_etl@TASK_ENGINE_TRINO","database":"","tablePath":"ods_users_mysql","tableType":"PHYSICAL_TABLE","bizClassify":"CURRENT","dbBizType":"TASK_ENV_DB","authedSpace":"","partitionKeys":[],"dataSaveMode":1,"batchSize":20000}' \
83
+ --channelConfig '{"limitType":"0","gatewayConfig":{"engineFlag":"TASK_ENGINE_TRINO","companyId":1,"appDefinition":"APP_GAIA","bizFlag":"BIZ_GAIA_TASK_RELEASE","repoCode":"te_etl","spaceCode":"default"}}' \
84
+ --fieldsMapping '{"mapping":[{"source":{"name":"id","type":"int","manual":false,"partitionKey":false,"primaryKey":false,"shardingKey":false,"sortingKey":false,"upsertKey":false},"target":{"name":"id","type":"int","manual":false,"partitionKey":false,"primaryKey":false,"shardingKey":false,"sortingKey":false,"upsertKey":false}}]}' \
85
+ --confirmed true
86
+ ```
87
+
88
+ ### Step 4: Execute Sync
89
+
90
+ ```bash
91
+ # Manually execute sync solution
92
+ ae-cli dataops_integration +exec_sync_solution --spaceCode "${spaceCode}" \
93
+ --syncId "${syncId}" --confirmed true
94
+
95
+ # View execution history
96
+ ae-cli dataops_integration +list_sync_exec_histories --spaceCode "${spaceCode}" \
97
+ --syncId "${syncId}" --limit 20
98
+
99
+ # View execution details
100
+ ae-cli dataops_integration +get_sync_exec_info --spaceCode "${spaceCode}" \
101
+ --syncId "${syncId}" --taskId "${taskId}"
102
+
103
+ # Stop execution if necessary
104
+ ae-cli dataops_integration +stop_sync_solution --spaceCode "${spaceCode}" \
105
+ --syncId "${syncId}" --taskId "${taskId}" --confirmed true
106
+ ```
107
+
108
+ ---
109
+
110
+ ## JSON Configuration Templates
111
+
112
+ ### Preset Repository as Target (Sink)
113
+
114
+ ```json
115
+ {
116
+ "component": "hive",
117
+ "datasourceId": "te_etl@TASK_ENGINE_TRINO",
118
+ "database": "",
119
+ "tablePath": "ods_users_mysql",
120
+ "tableType": "PHYSICAL_TABLE",
121
+ "bizClassify": "CURRENT",
122
+ "dbBizType": "TASK_ENV_DB",
123
+ "authedSpace": "",
124
+ "partitionKeys": [],
125
+ "dataSaveMode": 1,
126
+ "batchSize": 20000
127
+ }
128
+ ```
129
+
130
+ ### Non-Preset Repository (e.g., MySQL)
131
+
132
+ ```json
133
+ {
134
+ "component": "MySQL",
135
+ "datasourceId": "ds-uuid-xxx",
136
+ "database": "test",
137
+ "tablePath": "users"
138
+ }
139
+ ```
140
+
141
+ ### channelConfig (must include gatewayConfig when source or target involves preset repository)
142
+
143
+ ```json
144
+ {
145
+ "limitType": "0",
146
+ "gatewayConfig": {
147
+ "engineFlag": "TASK_ENGINE_TRINO",
148
+ "companyId": 1,
149
+ "appDefinition": "APP_GAIA",
150
+ "bizFlag": "BIZ_GAIA_TASK_RELEASE",
151
+ "repoCode": "te_etl",
152
+ "spaceCode": "default"
153
+ }
154
+ }
155
+ ```
156
+
157
+ ### fieldsMapping (bidirectional column mapping)
158
+
159
+ ```json
160
+ {
161
+ "mapping": [
162
+ {
163
+ "source": {
164
+ "name": "id",
165
+ "type": "int",
166
+ "manual": false,
167
+ "partitionKey": false,
168
+ "primaryKey": false,
169
+ "shardingKey": false,
170
+ "sortingKey": false,
171
+ "upsertKey": false
172
+ },
173
+ "target": {
174
+ "name": "id",
175
+ "type": "int",
176
+ "manual": false,
177
+ "partitionKey": false,
178
+ "primaryKey": false,
179
+ "shardingKey": false,
180
+ "sortingKey": false,
181
+ "upsertKey": false
182
+ }
183
+ }
184
+ ]
185
+ }
186
+ ```
187
+
188
+ ---
189
+
190
+ ## Command Quick Reference
191
+
192
+ | Command | Purpose | Key Flags |
193
+ |---------|---------|-----------|
194
+ | `+list_datasource_components` | List component types | None |
195
+ | `+test_datasource_connect` | Test connection | `--spaceCode` `--componentName` `--configValue` |
196
+ | `+add_datasource` | Create datasource | `--spaceCode` `--componentName` `--dataSourceName` `--sharedConfig` `--envJsonList` `--confirmed` |
197
+ | `+modify_datasource` | Modify datasource | `--spaceCode` `--dataSourceName` `--dataSourceRemark` `--sharedConfig` `--envJsonList` `--confirmed` |
198
+ | `+online_datasource` | Online datasource | `--spaceCode` `--dataSourceNames` `--confirmed` |
199
+ | `+list_space_datasources` | List datasources | `--spaceCode` `--componentName` `--dataSourceName` |
200
+ | `+list_sync_datasources` | Sync datasources | `--spaceCode` `--env` |
201
+ | `+list_datasource_databases` | List databases | `--spaceCode` `--datasourceId` `--env` |
202
+ | `+list_datasource_tables` | List tables | `--spaceCode` `--datasourceId` `--database` `--env` |
203
+ | `+get_table_structure` | Table structure | `--spaceCode` `--datasourceId` `--database` `--tablePath` `--env` |
204
+ | `+add_sync_solution` | Create sync solution | `--spaceCode` `--syncName` `--srcComponent` `--srcDatasourceId` `--sinkComponent` `--sinkDatasourceId` `--sourceConfig` `--sinkConfig` `--channelConfig` `--fieldsMapping` `--confirmed` |
205
+ | `+save_sync_solution` | Update sync solution | `--spaceCode` `--syncId` `--syncName` `--sourceConfig` `--sinkConfig` `--channelConfig` `--fieldsMapping` `--confirmed` |
206
+ | `+list_sync_solutions` | List sync solutions | `--spaceCode` |
207
+ | `+get_sync_detail` | Sync solution details | `--spaceCode` `--syncId` `--withParams` |
208
+ | `+exec_sync_solution` | Execute sync | `--spaceCode` `--syncId` `--execParams` `--confirmed` |
209
+ | `+list_sync_exec_histories` | Execution history | `--spaceCode` `--syncId` `--execType` `--limit` |
210
+ | `+get_sync_exec_info` | Execution details | `--spaceCode` `--syncId` `--taskId` |
211
+ | `+stop_sync_solution` | Stop sync | `--spaceCode` `--syncId` `--taskId` `--confirmed` |
212
+
213
+ ## Component Conditional Required Parameters
214
+
215
+ Some components have conditional required parameters that vary based on deployment mode. The requiredFields from `+list_datasource_components` may not include these parameters (they are explained in optionalFields or importantNotes). When creating datasources, be sure to supplement corresponding parameters based on the user's selected mode.
216
+
217
+ ### MongoDB
218
+
219
+ | mode value | Additional required parameters | Description |
220
+ |------------|-------------------------------|-------------|
221
+ | `single` | None | Single node mode |
222
+ | `replicaSet` | `replicaSet` | Replica set name (e.g., `rs0`), field name is `replicaSet` not `replicaSetName` |
223
+ | `sharded` | None | Sharded cluster mode |
224
+
225
+ **MongoDB envJsonList examples for each mode:**
226
+
227
+ Single node:
228
+ ```json
229
+ [{"mode":"single","nodes":[{"host":"10.0.0.1","port":"27017"}],"database":"mydb","username":"admin","password":"xxx"}]
230
+ ```
231
+
232
+ Replica set (note `replicaSet` is required):
233
+ ```json
234
+ [{"mode":"replicaSet","nodes":[{"host":"10.0.0.1","port":"27017"},{"host":"10.0.0.2","port":"27017"}],"database":"mydb","username":"admin","password":"xxx","replicaSet":"rs0"}]
235
+ ```
236
+
237
+ Sharded cluster:
238
+ ```json
239
+ [{"mode":"sharded","nodes":[{"host":"10.0.0.1","port":"27017"},{"host":"10.0.0.2","port":"27017"}],"database":"mydb","username":"admin","password":"xxx"}]
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Key Rules
245
+
246
+ 1. **Table name rule**: When writing to preset repository, if table name not specified, use `ods_${source_table_name}_${component_name_lowercase}`
247
+ 2. **tablePath**: PostgreSQL uses `schema.table_name`, other components use table name directly
248
+ 3. **Preset repository database is empty**, non-preset repository database is required
249
+ 4. **channelConfig**: Must include gatewayConfig when involving preset repository
250
+ 5. **Field mapping**: Each field object must include manual/partitionKey/primaryKey/shardingKey/sortingKey/upsertKey properties
251
+ 6. **Conditional required parameters**: Some components (e.g., MongoDB) have additional required fields based on mode, see "Component Conditional Required Parameters" above
@@ -0,0 +1,111 @@
1
+ ---
2
+ name: dataops-query
3
+ version: 1.0.0
4
+ description: "Data exploration and SQL query: browse data warehouse metadata, search tables, execute SQL queries, get results. Trigger keywords: query, SQL, data exploration, search tables, view table structure, browse data, IDE, catalog, select."
5
+ metadata:
6
+ requires:
7
+ bins: ["ae-cli"]
8
+ ---
9
+
10
+ # DataOps Data Exploration and SQL Query
11
+
12
+ > **Prerequisites:** Read [`ae-dataops/SKILL.md`](../SKILL.md) for general rules.
13
+
14
+ Use the `dataops_ide` subcommand for data exploration and SQL queries.
15
+
16
+ **Core Rule: IDE only allows query operations, prohibits creating/modifying/deleting data tables (use dataops_datatable for task table DDL).**
17
+
18
+ ---
19
+
20
+ ## Workflow A: Browse Data Warehouse Metadata
21
+
22
+ Explore data warehouse structure step by step: repository → catalog → schema → table → column.
23
+
24
+ ```bash
25
+ # Step 1: List available repositories
26
+ ae-cli dataops_ide +list_repos --spaceCode "${spaceCode}"
27
+
28
+ # Step 2: List all catalogs and their schemas in repository
29
+ ae-cli dataops_ide +list_catalogs --spaceCode "${spaceCode}" --connType "SPACE" --repoCode "${repoCode}"
30
+
31
+ # Step 3: List tables/views under schema
32
+ ae-cli dataops_ide +list_tables --spaceCode "${spaceCode}" --connType "SPACE" --repoCode "${repoCode}" \
33
+ --catalog "${catalog}" --schema "${schema}" --isView false --pageNum 1 --pageSize 100
34
+
35
+ # Step 4: Get detailed table metadata (column definitions, DDL, partitions, row count)
36
+ ae-cli dataops_ide +get_table_detail --spaceCode "${spaceCode}" --connType "SPACE" --repoCode "${repoCode}" \
37
+ --catalog "${catalog}" --schema "${schema}" --tableName "${tableName}" \
38
+ --engineType "TASK_ENGINE_TRINO" --isView false
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Workflow B: Search and View Tables
44
+
45
+ When you don't know the exact table location, search by keyword.
46
+
47
+ ```bash
48
+ # Fuzzy search tables across catalog/schema
49
+ ae-cli dataops_ide +search_tables --spaceCode "${spaceCode}" --connType "SPACE" --repoCode "${repoCode}" \
50
+ --searchKey "user" --size 20
51
+
52
+ # Fuzzy search column names across tables
53
+ ae-cli dataops_ide +search_columns --spaceCode "${spaceCode}" --repoCode "${repoCode}" \
54
+ --searchKey "user_id" --tables '[{"catalog":"hive","isView":false,"schema":"ws_default_dev","tableName":"dwd_user"}]' \
55
+ --engineType "TASK_ENGINE_TRINO" --pageNum 1 --pageSize 100
56
+
57
+ # Generate SELECT SQL based on table and column names
58
+ ae-cli dataops_ide +generate_sql --spaceCode "${spaceCode}" --repoCode "${repoCode}" \
59
+ --catalog "hive" --schema "ws_default_dev" --tableName "dwd_user" \
60
+ --engineType "TASK_ENGINE_TRINO" --selectColumns '["user_id","user_name","age"]'
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Workflow C: Execute SQL Query (Complete Async Flow)
66
+
67
+ This is the most important workflow, containing 3 steps: execute → poll progress → get results.
68
+
69
+ ```bash
70
+ # Step 1: Execute SQL asynchronously (returns requestId)
71
+ ae-cli dataops_ide +execute_sql --spaceCode "${spaceCode}" --repoCode "te_etl" \
72
+ --sql "SELECT * FROM hive.ws_default_dev.dwd_user LIMIT 10" \
73
+ --engineType "TASK_ENGINE_TRINO" --confirmed true
74
+
75
+ # Step 2: Query execution progress (use requestId from Step 1, recommend 2-5 second polling)
76
+ # state values: QUEUED / RUNNING / FINISHED / FAILED / CANCELLED
77
+ ae-cli dataops_ide +get_query_progress --requestId "${requestId}"
78
+
79
+ # Step 3: After state=FINISHED, get query results
80
+ # recordId obtained from query history or progress info
81
+ ae-cli dataops_ide +get_query_result --spaceCode "${spaceCode}" --connType "SPACE" \
82
+ --repoCode "te_etl" --recordId "${recordId}"
83
+
84
+ # (Optional) Cancel running query
85
+ ae-cli dataops_ide +cancel_query --requestId "${requestId}" --confirmed true
86
+ ```
87
+
88
+ ---
89
+
90
+ ## Command Quick Reference
91
+
92
+ | Command | Purpose | Key Flags |
93
+ |---------|---------|-----------|
94
+ | `+list_repos` | List repositories | `--spaceCode` |
95
+ | `+list_catalogs` | List catalog/schema | `--spaceCode` `--connType` `--repoCode` |
96
+ | `+list_tables` | List tables | `--spaceCode` `--connType` `--repoCode` `--catalog` `--schema` `--isView` `--pageNum` `--pageSize` |
97
+ | `+get_table_detail` | Table metadata | `--spaceCode` `--connType` `--repoCode` `--catalog` `--schema` `--tableName` `--engineType` `--isView` |
98
+ | `+get_schema_info` | Schema statistics | `--spaceCode` `--connType` `--repoCode` `--catalog` `--schema` |
99
+ | `+search_tables` | Fuzzy search tables | `--spaceCode` `--connType` `--repoCode` `--searchKey` `--size` |
100
+ | `+search_columns` | Fuzzy search columns | `--spaceCode` `--repoCode` `--searchKey` `--tables` (JSON) `--engineType` `--pageNum` `--pageSize` |
101
+ | `+generate_sql` | Generate SELECT | `--spaceCode` `--repoCode` `--catalog` `--schema` `--tableName` `--engineType` `--selectColumns` (JSON) |
102
+ | `+execute_sql` | Execute SQL | `--spaceCode` `--repoCode` `--sql` `--engineType` `--confirmed` |
103
+ | `+get_query_progress` | Query progress | `--requestId` |
104
+ | `+get_query_result` | Get results | `--spaceCode` `--connType` `--repoCode` `--recordId` |
105
+ | `+cancel_query` | Cancel query | `--requestId` `--confirmed` |
106
+
107
+ ## Parameter Notes
108
+
109
+ - **connType**: `SPACE` (data warehouse for daily queries, default) | `ETL` (ETL engine) | `APP` (app warehouse for external services)
110
+ - **engineType**: `TASK_ENGINE_TRINO` (default, interactive queries) | `TASK_ENGINE_STARROCKS` (real-time analytics, high concurrency)
111
+ - **isView**: `false` for physical tables | `true` for views