SHOW SERVICES

列出您具有访问权限的 Snowpark Container Services 服务 (包括作业服务)。

  • SHOW SERVICES 的输出还包含了作为作业运行的服务(请参阅 EXECUTE JOB SERVICE)。

  • SHOW JOB SERVICES 仅提供作为作业运行的服务的列表。

  • SHOW SERVICES EXCLUDE JOBS 的输出不包含作为作业运行的服务。

另请参阅:

CREATE SERVICEALTER SERVICEDROP SERVICEDESCRIBE SERVICESHOW SERVICE INSTANCES IN SERVICESHOW SERVICE CONTAINERS IN SERVICE

语法

SHOW [ JOB ] SERVICES [ EXCLUDE JOBS ] [ LIKE '<pattern>' ]
           [ IN
                {
                  ACCOUNT                  |

                  DATABASE                 |
                  DATABASE <database_name> |

                  SCHEMA                   |
                  SCHEMA <schema_name>     |
                  <schema_name>            |

                  COMPUTE POOL <compute_pool_name>
                }
           ]
           [ STARTS WITH '<name_string>' ]
           [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

参数

LIKE 'pattern'

(可选)按对象名称筛选命令输出。筛选器使用 不区分大小写 的模式匹配,并支持 SQL 通配符(%_)。

例如,以下模式返回 相同的 结果:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. 默认:无值(不对输出应用筛选)。

[ IN ... ]

(可选)指定命令的作用域。指定以下任一项:

ACCOUNT

返回整个账户的记录。

DATABASE. DATABASE db_name

返回当前正在使用的数据库或指定数据库 (db_name) 的记录。

如果指定 DATABASE 而不指定 db_name,并且没有使用任何数据库,则关键字对输出没有影响。

备注

在数据库上下文中使用不带 IN 子句的 SHOW 命令,这样可能会导致结果低于预期。

如果不使用 IN 子句,则具有相同名称的多个对象只会显示一次。例如,如果您在 schema1 中具有表 t1 且在 schema2 中具有表 t1,并且两者都在您指定的数据库上下文的作用域内(即,您所选的数据库是 schema1schema2 的父级),则 SHOW TABLES 只会显示其中一个 t1 表。

SCHEMA. SCHEMA schema_name

返回当前正在使用的架构或指定架构 (schema_name) 的记录。

如果数据库正在使用中,或者指定了完全限定 schema_name (例如 db.schema),则 SCHEMA 是可选选项。

如果未使用任何数据库,则指定 SCHEMA 对输出没有影响。

If you omit IN ..., the scope of the command depends on whether the session currently has a database in use:

  • If a database is currently in use, the command returns the objects you have privileges to view in the database. This has the same effect as specifiying IN DATABASE.

  • If no database is currently in use, the command returns the objects you have privileges to view in your account. This has the same effect as specifiying IN ACCOUNT.

STARTS WITH 'name_string'

(可选)根据对象名称开头显示的字符筛选命令输出。该字符串必须放在单引号内并且 区分大小写

例如,以下字符串会返回 不同的 结果:

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. 默认:无值(不对输出应用筛选)

LIMIT rows

(可选)限制返回的最大行数。返回的实际行数可能小于指定的限制。例如,现有对象的数量小于指定的限制。

默认:无值(不对输出应用限制)。

输出

命令输出在以下列中提供服务属性和元数据:

描述

name

Snowpark Container Services 服务名称。

status

以下各值之一,表示服务的当前状态:

  • PENDING

  • RUNNING

  • FAILED

  • DONE

  • SUSPENDING

  • SUSPENDED

  • DELETING

  • DELETED

  • INTERNAL_ERROR

database_name

在其中创建服务的数据库。

schema_name

在其中创建服务的架构。

owner

拥有服务的角色。

compute_pool

Snowflake 在其中运行服务的计算池的名称。

dns_name

Snowflake 为服务分配的 DNS 名称,格式如下:service-name.unique-id.svc.spcs.internal

unique-id 是一个 4-8 个字符长的字母数字标识符,唯一对应于数据库架构的特定实例。要查找架构的唯一 ID,请调用 SYSTEM$GET_SERVICE_DNS_DOMAIN 函数。例如:

SELECT SYSTEM$GET_SERVICE_DNS_DOMAIN('mydb.myschema');
Copy

请注意以下事项:

  • 如果您重命名一个架构,标识符保持不变。

  • 如果您删除并重新创建一个具有相同名称的架构,标识符将会改变。

DNS 名称支持服务到服务的通信(请参阅 教程 3)。

current_instances

服务的当前实例数。

target_instances

Snowflake 确定的应运行的服务实例的目标数量。

current_instances 值与 target_instances 值不相等时,Snowflake 正在关闭或启动服务实例。

例如,请考虑以下示例:

  • 假设您创建了一个服务,其中 MIN_INSTANCES = 1,MAX_INSTANCES = 3。在服务运行时,Snowflake 可能确定一个实例是不够的。在这种情况下,target_instances 的值将增加,表明 Snowflake 正在启动其他实例。

    target_instances 值也可能小于 current_instances 值,这表明 Snowflake 正在减少运行实例的数量。

  • 如果您创建服务,但计算池没有容量来满足您请求的最小实例数,则 target_instances 的值将等于 min_instances 的值。current_instances 的值将小于 target_instances 的值。

min_ready_instances

指示 Snowflake 必须至少准备好多少个服务实例,才能认为服务已准备好处理请求。

min_instances

Snowflake 应该运行的最小服务实例数。

max_instances

Snowflake 在需要时可以扩展的最大服务实例数。

auto_resume

如果为 true,则在调用服务函数或收到传入请求 (ingres) 时,Snowflake 会自动恢复已暂停的服务(请参阅 使用服务)。

external_access_integrations

与服务相关联的外部访问集成的列表。有关更多信息,请参阅 配置网络出口

created_on

服务的创建日期和时间。

updated_on

服务的上次更新日期和时间。

resumed_on

服务的上次恢复时间戳。

suspended_on

服务上次暂停的时间戳。suspended_on 在 Snowflake 暂停服务时设置,即使在服务恢复后也保持不变。如果 suspended_on 是 NULL,则服务从未暂停。

auto_suspend_secs

Snowflake 自动暂停服务之前处于非活动状态的秒数。如果 auto_suspend_secs 设置为 0 或从未设置,则 Snowflake 不会自动暂停服务。

comment

服务的相关注释。

owner_role_type

拥有对象的角色类型是 ROLE 或 DATABASE_ROLE。

query_warehouse

当服务容器连接到 Snowflake 以执行查询,但未显式指定要使用的仓库时,Snowflake 默认使用该仓库。

is_job

如果服务是作业服务,则为 true,否则为 false。SHOW JOB SERVICES 和 SHOW SERVICES EXCLUDE JOBS 的输出中不包含此列。

is_async_job

如果为 TRUE,则作业服务正在异步运行。默认情况下,Snowflake 同步执行作业服务。此列包含在 SHOW SERVICES 和 SHOW JOB SERVICES 命令的输出中,但不在 SHOW SERVICES EXCLUDING JOBS 命令的输出中。

spec_digest

代表服务规范内容的唯一且不可变的标识符。

为了观察 spec_digest 列的值随时间的变化,服务用户可能会定期执行 SHOW SERVICES 命令。如果服务用户注意到值发生变化,则可以推断服务已升级。

is_upgrading

如果 Snowflake 正在升级服务,则为 TRUE。

managing_object_domain

管理对象的域(例如,管理服务的笔记本的域)。如果服务不受 Snowflake 实体管理,则为 NULL。

managing_object_name

管理对象的名称(例如,管理服务的笔记本的名称)。如果服务不受 Snowflake 实体管理,则为 NULL。

访问控制要求

用于执行此 SQL 命令的 角色 必须至少具有以下 一项 权限

权限

对象

备注

以下任何一项权限:OWNERSHIP、USAGE、MONITOR 或者 OPERATE

服务

The USAGE privilege on the parent database and schema are required to perform operations on any object in a schema. Note that a role granted any privilege on a schema allows that role to resolve the schema. For example, a role granted CREATE privilege on a schema can create objects on that schema without also having USAGE granted on that schema.

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

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

使用说明

  • 该命令不需要正在运行的仓库即可执行。

  • 该命令仅返回当前用户的当前角色已获授至少一项访问权限的对象。

  • MANAGE GRANTS 访问权限隐式允许其持有者查看账户中的每个对象。默认情况下,只有账户管理员(具有 ACCOUNTADMIN 角色的用户)和安全管理员(具有 SECURITYADMIN 角色的用户)才具有 MANAGE GRANTS 权限。

  • To post-process the output of this command, you can use the pipe operator (->>) or the RESULT_SCAN function. Both constructs treat the output as a result set that you can query.

    The output column names for this command are generated in lowercase. If you consume a result set from this command with the pipe operator or the RESULT_SCAN function, use double-quoted identifiers for the column names in the query to ensure that they match the column names in the output that was scanned. For example, if the name of an output column is type, then specify "type" for the identifier.

  • 该命令 最多 返回指定对象类型的 1 万条记录,由用于执行命令的角色的访问权限决定。即使应用了筛选器,也不会返回任何超出 1 万条限制后的记录。

    要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中查询相应的视图(如果存在)。

示例

以下示例列出了会话的当前数据库和架构中的服务:

SHOW SERVICES;
Copy

示例输出:

+--------------+---------+---------------+-------------+-----------+-----------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------+
| name         | status  | database_name | schema_name | owner     | compute_pool          | dns_name                            | current_instances | target_instances | min_ready_instances | min_instances | max_instances | auto_resume | external_access_integrations | created_on                    | updated_on                    | resumed_on | suspended_on | auto_suspend_secs | comment | owner_role_type | query_warehouse | is_job | is_async_job | spec_digest                                                      | is_upgrading | managing_object_domain | managing_object_name |
|--------------+---------+---------------+-------------+-----------+-----------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------|
| ECHO_SERVICE | RUNNING | TUTORIAL_DB   | DATA_SCHEMA | TEST_ROLE | TUTORIAL_COMPUTE_POOL | echo-service.k3m6.svc.spcs.internal |                 1 |                1 |                   1 |             1 |             1 | true        | NULL                         | 2024-11-29 12:12:47.310 -0800 | 2024-11-29 12:12:48.843 -0800 | NULL       | NULL         |                 0 | NULL    | ROLE            | NULL            | false  | false        | edaf548eb0c2744a87426529b53aac75756d0ea1c0ba5edb3cbb4295a381f2b4 | false        | NULL                   | NULL                 |
+--------------+---------+---------------+-------------+-----------+-----------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------+

以下示例列出了一项服务:

SHOW SERVICES LIMIT 1;
Copy

以下示例列出了名称中包含“echo”的服务:

SHOW SERVICES LIKE '%echo%';
Copy

以下示例列出了名称中包含“echo”的一项服务:

SHOW SERVICES LIKE '%echo%' LIMIT 1;
Copy

以下示例仅列出作为作业运行的服务:

SHOW JOB SERVICES;
Copy
语言: 中文