运行时依赖
安装命令
点击复制技能文档
阿里云 DMS 数据库读写搜索 通过阿里云 DMS OpenAPI 搜索目标数据库并执行 SQL 查询和数据修改。
场景描述 此技能实现以下工作流程: 搜索目标数据库 — 通过关键字搜索数据库以获取数据库 ID 执行 SQL 查询 — 在目标数据库上执行 SQL 语句
架构 用户请求 → 搜索数据库 → 获取数据库 ID → 执行 SQL → 返回结果
前置条件 AI 模式生命周期(必须按顺序执行) 此技能必须在 AI 模式会话中运行。将以下五个步骤视为严格的生命周期 — 不要跳过、重新排序或将设置步骤与命令执行交错:
- aliyun configure ai-mode enable # 启用 AI 模式
- aliyun configure ai-mode set-user-agent AlibabaCloud-Agent-Skills/alibabacloud-dms-skill # 注册技能 User-Agent
- aliyun configure set --auto-plugin-install true && aliyun plugin update # 插件更新
- <通过 ./scripts/*.sh 执行 DMS 命令> # 执行命令
- aliyun configure ai-mode disable # 禁用 AI 模式(清理)
步骤 1-3 属于设置(本节)。步骤 4 由核心工作流程覆盖。步骤 5 由清理覆盖。
预检查 预检查 0:Aliyun CLI >= 3.3.3 必须 运行 aliyun version 以验证 >= 3.3.3。如果未安装或版本过低,请运行 curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash 安装/更新,或者参阅 references/cli-installation-guide.md 获取安装说明。
预检查 1:启用 AI 模式 [必须] 运行 aliyun configure ai-mode enable 启用 AI 模式,然后再进行任何其他配置或命令。这激活了 AI 模式会话,下游 OpenAPI 服务使用它来识别代理发出的流量。
预检查 2:在 AI 模式下注册技能 User-Agent [必须] 运行 aliyun configure ai-mode set-user-agent AlibabaCloud-Agent-Skills/alibabacloud-dms-skill 注册此技能的标识符作为 AI 模式 User-Agent,用于当前会话。在 ai-mode enable 之后和在任何插件更新或 DMS 命令之前立即运行此命令。
预检查 3:Aliyun CLI 插件更新必需 [必须] 运行 aliyun configure set --auto-plugin-install true 启用自动插件安装。[必须] 运行 aliyun plugin update 以确保任何现有插件始终是最新的。插件更新必须在 AI 模式启用和 User-Agent 注册之后进行,因此插件管理器本身会报告正确的标识符。
Aliyun CLI >= 3.3.3 jq(用于 JSON 解析):brew install jq 通过 aliyun configure 配置凭据
预检查 4:阿里云凭据必需 安全规则: 永远不要读取、回显或打印 AK/SK 值(例如,echo $ALIBABA_CLOUD_ACCESS_KEY_ID 是禁止的) 永远不要要求用户直接在对话或命令行中输入 AK/SK 永远不要使用 aliyun configure set 与字面凭据值 仅使用 aliyun configure list 检查凭据状态 aliyun configure list 检查输出是否有有效的配置文件(AK、STS 或 OAuth 身份)。如果没有有效的配置文件,请在此停止。从阿里云控制台获取凭据,在此会话之外配置凭据(通过 aliyun configure 在终端或 shell 配置文件中的环境变量)。返回并在 aliyun configure list 显示有效的配置文件后重新运行
[必须] 每个命令的 CLI User-Agent —— 除了在预检查 2 中注册的 AI 模式 User-Agent 之外,每个 aliyun CLI 命令调用在步骤 4 中都必须包含: --user-agent AlibabaCloud-Agent-Skills/alibabacloud-dms-skill 每个命令的标志和 AI 模式会话级别的设置是互补的 —— 两个都必须存在,以便在每个请求中发送标识符,即使 AI 模式会话过期。
RAM 权限 [必须] RAM 权限预检查:在执行之前,验证当前用户是否具有以下 RAM 权限。请参阅 references/ram-policies.md 获取完整的权限列表。
参数确认 重要:参数确认 —— 在执行任何命令或 API 调用之前,所有用户可自定义的参数(例如数据库关键字、SQL 语句、db-id 等)必须与用户确认。不要假设或在没有用户明确批准的情况下使用默认值。
参数 必需/可选 描述 默认值 keyword 必需 数据库搜索关键字(1-128 个字符,字母数字) - db-id 必需 数据库 ID(正整数,来自搜索) - sql 必需 要执行的 SQL 语句(1-10000 个字符) - logic 可选 是否使用逻辑数据库模式 false force 可选 确认写入操作(INSERT/UPDATE/DELETE) false dry-run 可选 预览写入操作而不执行 false
核心工作流程 任务 1:搜索目标数据库 通过关键字搜索数据库以获取数据库 ID: ./scripts/search_database.sh --json 示例: # 搜索包含“mydb”的数据库 ./scripts/search_database.sh mydb --json 输出包括 database_id、schema 等信息。