<service_name>!SPCS_WAIT_FOR¶
等待 Snowpark Container Services 服务 达到指定状态,该操作有超时限制。
执行异步作业时,使用此辅助函数来等待作业完成。
创建服务时,使用此辅助函数等待服务进入运行状态。
语法¶
<service_name>!SPCS_WAIT_FOR( <status>, <timeout_sec> );
实参¶
必填实参
'status'
等待目标状态。有关服务状态值的列表,请参阅 DESCRIBE SERVICE 命令的输出部分。
timeout_sec
等待达到指定状态的最长时间(秒)。如果在超时时间内未达到指定状态,则该函数将返回一条包含当前服务状态的错误消息。
返回¶
如果服务未在超时内达到指定状态,或者 Snowflake 确定永远无法达到该状态,则该函数会返回一条错误消息,该消息也会提供当前服务状态。否则,它将返回成功消息。
访问控制要求¶
用于执行此 SQL 命令的 角色 必须至少具有以下 一项 权限:
权限 |
对象 |
备注 |
---|---|---|
以下任何一项权限:OWNERSHIP、USAGE、MONITOR 或者 OPERATE |
服务 |
要对架构中的任何对象执行操作,需要对父数据库和架构具有 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
示例¶
等待两分钟,让指定的作业完成(作业状态为 DONE)。
CALL my_job!spcs_wait_for('DONE', 120)
等待三分钟,让指定的服务启动(服务状态为 RUNNING)。
CALL my_service!SPCS_WAIT_FOR('RUNNING', 180)