<service_name>!SPCS_WAIT_FOR

<service_name>!SPCS_WAIT_FOR (서비스 상태 대기)

Snowpark Container Services 서비스가 지정한 상태에 도달할 때까지 타임아웃을 두고 기다려요.

  • 비동기 작업(job)을 실행할 때는 이 헬퍼 함수를 사용해 작업이 완료될 때까지 기다려요.
  • 서비스를 만들 때는 이 헬퍼 함수를 사용해 서비스가 실행될 때까지 기다려요.

출처: Snowflake SQL Reference - SPCS_WAIT_FOR

본문

구문

<service_name>!SPCS_WAIT_FOR( <status>, <timeout_sec> );

인자

필수 인자:

'<status>'

기다릴 상태예요. 서비스 상태 값 목록은 DESCRIBE SERVICE 명령의 출력 섹션을 참고해요.

<timeout_sec>

지정한 상태를 기다릴 최대 시간(초)이에요. 타임아웃 안에 지정한 상태에 도달하지 못하면, 함수는 현재 서비스 상태를 포함한 오류 메시지를 반환해요.

반환 값

서비스가 타임아웃 안에 지정한 상태에 도달하지 못하거나, Snowflake가 그 상태에 절대 도달할 수 없다고 판단하면 함수는 현재 서비스 상태도 제공하는 오류 메시지를 반환해요. 그렇지 않으면 성공 메시지를 반환해요.

액세스 제어 요구 사항

이 SQL 명령을 실행하는 역할은 최소한 다음 권한 중 하나를 가져야 해요:

권한 객체 참고
OWNERSHIP, USAGE, MONITOR 또는 OPERATE 권한 중 하나 Service

스키마 안의 객체를 조작하려면 상위 데이터베이스에 대한 권한이 하나 이상, 상위 스키마에 대한 권한이 하나 이상 필요해요.

지정한 권한 집합을 가진 사용자 지정 역할을 만드는 방법은 사용자 지정 역할 만들기를 참고해요.

보안 객체에 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어 개요를 참고해요.

예시

지정한 작업이 완료될 때까지 2분간 기다려요(작업 상태는 DONE):

CALL my_job!spcs_wait_for('DONE', 120)

지정한 서비스가 시작될 때까지 3분간 기다려요(서비스 상태는 RUNNING):

CALL my_service!SPCS_WAIT_FOR('RUNNING', 180)

더 알아보기