DROP EXTERNAL AGENT

从当前或指定的模式中移除指定的外部代理。

备注

删除外部代理会移除与外部代理关联的应用程序和评估元数据。存储在事件表中的跟踪和评估结果不会删除,仍会保存。有关更多信息,请参阅 可观察性数据。

另请参阅:

CREATE EXTERNAL AGENT、ALTER EXTERNAL AGENT、SHOW EXTERNAL AGENTS、DESCRIBE EXTERNAL AGENT

语法

DROP EXTERNAL AGENT [ IF EXISTS ] <name>

参数

name

指定要删除的外部代理的标识符。

如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

有关更多信息,请参阅 标识符要求。

如果外部代理标识符不是完全限定的(以 db_name.schema_name.external_agent_name 或 schema_name.external_agent_name 的形式),则该命令将在会话的当前模式中查找外部代理。

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限:

权限

对象

备注

OWNERSHIP

External Agent

OWNERSHIP 是对象上的特殊权限,会自动授予创建该对象的角色,但也可以通过拥有者角色或任何具有 MANAGE GRANTS 权限的角色,使用 GRANT OWNERSHIP 命令将权限转移给其他角色。

对架构中的对象进行操作至少需要父数据库的一项权限和父架构的一项权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述。

使用说明

  • 如果指定了 IF EXISTS 子句,而目标对象不存在,该命令会成功完成,不会返回错误。

  • 与外部代理关联的所有版本都将与外部代理一起被删除。

  • 删除外部代理会移除与外部代理关联的元数据(例如应用程序名称、版本名称和运行名称)。运行过程中生成的跟踪和评估记录不会删除,仍会存储在 SNOWFLAKE.LOCAL.AI_OBSERVABILITY_EVENTS 事件表中。

  • 外部代理对象与 模型 对象共享命名空间。请确保删除正确的对象。

示例

删除当前模式中的外部代理:

DROP EXTERNAL AGENT my_rag_app;

删除特定数据库和模式中的外部代理:

DROP EXTERNAL AGENT mydb.myschema.my_rag_app;

仅删除存在的外部代理:

DROP EXTERNAL AGENT IF EXISTS my_rag_app;