SYSTEM$WAIT_FOR_OPENFLOW_CONNECTOR_STATUS

SYSTEM$WAIT_FOR_OPENFLOW_CONNECTOR_STATUS

각각 이름이 지정된 커넥터(connector)가 사용자가 지정한 상태 중 하나에 도달할 때까지 기다리는 시스템 함수예요. ALTER 명령 뒤에 예상 상태를 알고 있을 때 이 함수를 사용해요. 커넥터가 안정될 때까지 기다리기만 하면 되면 대신 SYSTEM$WAIT_FOR_STABLE_OPENFLOW_CONNECTORS를 사용하세요.

출처: Snowflake SQL Reference

본문

참고:

Syntax

SELECT SYSTEM$WAIT_FOR_OPENFLOW_CONNECTOR_STATUS(
  <timeout_seconds>,
  '<allowed_statuses>',
  '<connector_name>' [ , '<connector_name>' ... ]
);

Arguments

timeout_seconds:

기다릴 최대 시간(초 단위)이에요.

'allowed_statuses':

허용 가능한 상태의 쉼표로 구분된 목록이에요, 예: 'RUNNING' 또는 'RUNNING,STOPPED'.

'connector_name':

하나 이상의 커넥터 이름이에요. 정규화된 이름 <database>.<schema>.<name>을 사용해요. USE DATABASE와 USE SCHEMA가 설정되어 있으면 단순 이름이 현재 세션에서 해석돼요.

커넥터의 일반적인 상태 값:

  • STOPPED — STOP 또는 COMMIT 이후
  • RUNNING — START 이후
  • TERMINATED — TERMINATE 이후

Returns

성공하면 'OK'를 반환해요. 시간이 초과되거나 커넥터가 실패 상태에 진입하면 오류를 발생시켜요.

Access control

이름이 지정된 커넥터에 대한 모든 권한이 필요해요.

Usage notes

  • Openflow UI는 내부적으로 동등한 폴링(polling)을 수행해요.
  • 커넥터 시작은 일반적으로 1~3분이 걸려요. 300초의 시간 초과가 합리적인 기본값이에요.
  • 함수가 시간 초과되면 기본 작업은 계속 진행돼요. 새 시간 초과로 대기 함수를 다시 실행하세요.

Examples

시작한 후 커넥터가 RUNNING에 도달할 때까지 기다리기:

ALTER OPENFLOW CONNECTOR my_db.my_schema.my_connector START;

SELECT SYSTEM$WAIT_FOR_OPENFLOW_CONNECTOR_STATUS(
  600,
  'RUNNING',
  'my_db.my_schema.my_connector'
);

더 알아보기 (Learn more)