功能请求:支持通过 tccli 提交和查询 DMC SQL 变更工单

オープン
#142 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
mysql, python, sql
領域
cli, cloud, databases

調査の方向性

Start by checking products.md and the generated tccli service list to confirm whether any dmc service already exists. Then verify from Tencent Cloud documentation whether CreateSQLModifyOrder, CreateOnlineDDLOrder, and DescribeSQLWorkOrder are public APIs with an endpoint, version, request schema, and CAM permissions. If they are public, the work is to add the service and command definitions plus a query path; if not, record that official support is unavailable. Done means the API surface is confirmed and the next implementation step is unambiguous.

索引モデルが issue の本文から書いたものです。

説明

需求场景

希望在开发工具或 CI/CD 流程中,通过命令行向腾讯云数据库管理 DMC 提交数据库表结构和数据变更工单,沿用 DMC 现有的 SQL 检查、审批及执行流程。

目标数据库包括 TDSQL-C MySQL。典型操作包括:

  • DDL:新增或修改表字段、创建索引等。
  • DML:提交 INSERT、UPDATE、DELETE 等数据变更。
  • 提交后获取工单 ID,查询 SQL 检查结果、审批状态和执行结果。

这里指的是腾讯云 DMC(控制台域名为 dms.cloud.tencent.com),不是阿里云 DMS。核心诉求是提交变更工单,而不是通过 CLI 直接执行 SQL,也不要求绕过或自动批准既有审批流程。

当前发现

本机 tccli 3.1.172.1 的服务列表中没有 dmc;检索当前仓库的 products.md 也未发现该服务。

但腾讯云官方文档已经列出了相关操作:

操作 名称
创建 SQL 变更工单 CreateSQLModifyOrder
创建无锁 DDL 变更工单 CreateOnlineDDLOrder
查询 SQL 变更工单详情 DescribeSQLWorkOrder
查询我的申请工单 DescribeApplyWorkOrderList

参考:

这些文档能确认操作名称及权限信息,但我们尚未找到完整的公开调用参数、API 版本和鉴权说明,因此还无法判断它们是否已向外部调用方开放。

期望支持

  1. 通过 tccli 创建 SQL 变更工单,支持从本地 SQL 文件或 JSON 文件提供内容,以及指定目标实例/数据库、变更说明、执行方式等工单参数。
  2. 返回便于脚本处理的工单 ID,并支持查询工单状态和检查/执行结果。
  3. 提交与审批、执行保持明确区分;提交者可以选择审批后手动执行,并继续遵守 DMC 的权限和规则模板。
  4. 优先复用 tccli 已有的 profile、SecretId/SecretKey 或临时凭证,不依赖复制浏览器 Cookie。

希望维护者确认

  • 上述 DMC 工单操作目前是否支持通过公开云 API 调用?是否需要申请白名单或开通特定能力?
  • 如果支持,能否提供 endpoint、API version、请求/响应 schema、最小 CAM 权限及调用示例?
  • 是否计划将 DMC 纳入 tccli / SDK?如果暂不支持,是否有官方推荐的自动化提交工单方式?
主要言語
Python
スター
136
フォーク
33
平均マージ
8日 1時間
マージ済み PR(30日)
1

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

TencentCloud/tencentcloud-cli のほかの issue

TencentCloud/tencentcloud-cli の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。