DESCRIBE SERVICE
DESCRIBE SERVICE
Snowpark Container Services 서비스(잡 서비스 포함)의 속성을 설명하는 명령어입니다. 일반 서비스와 잡(Job)처럼 실행되는 서비스 모두에 사용합니다. DESCRIBE는 DESC로 줄여서 쓸 수 있어요.
출처: 문서
본문
DESCRIBE SERVICE는 Snowpark Container Services 서비스(잡 서비스 포함)의 속성을 설명합니다. 관련 명령어로 CREATE SERVICE, ALTER SERVICE, DROP SERVICE, SHOW SERVICES가 있어요.
구문 (Syntax)
DESC[RIBE] SERVICE <name>
파라미터 (Parameters)
- name — 설명할 서비스의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 감싸야 합니다. 큰따옴표로 감싼 식별자는 대소문자를 구분해요. 자세한 내용은 Identifier requirements를 참고하세요.
출력 (Output)
명령어 출력은 다음 컬럼으로 서비스 속성과 메타데이터를 제공합니다.
| 컬럼 | 설명 |
|---|---|
| name | Snowpark Container Services 서비스 이름입니다. |
| status | 서비스의 현재 상태를 나타내는 값 중 하나입니다: PENDING, RUNNING, FAILED, DONE, CANCELLING(잡 서비스만), CANCELLED(잡 서비스만), SUSPENDING, SUSPENDED, DELETING, DELETED, INTERNAL_ERROR |
| database_name | 서비스가 생성된 데이터베이스입니다. |
| schema_name | 서비스가 생성된 스키마입니다. |
| owner | 서비스를 소유한 역할입니다. |
| compute_pool | Snowflake가 서비스를 실행하는 컴퓨트 풀 이름입니다. |
| spec | 서비스 사양 파일입니다. 이 컬럼은 명령어를 실행할 때 서비스의 소유자 역할을 사용할 때만 출력에 포함됩니다. |
| dns_name | service-name.unique-id.svc.spcs.internal 형식의 Snowflake가 할당한 DNS 이름입니다. unique-id는 데이터베이스 스키마의 특정 인스턴스에 고유한 4~8자 영숫자 식별자입니다. 스키마의 고유 ID를 찾으려면 SYSTEM$GET_SERVICE_DNS_DOMAIN 함수를 호출하세요. |
| current_instances | 서비스의 현재 인스턴스 수입니다. |
| target_instances | Snowflake가 결정한, 실행되어야 하는 대상 서비스 인스턴스 수입니다. current_instances와 target_instances 값이 다르면 Snowflake가 서비스 인스턴스를 종료하거나 시작하는 중입니다. |
| min_ready_instances | Snowflake가 서비스를 요청 처리 가능한 상태로 간주하기 위해 준비되어 있어야 하는 최소 서비스 인스턴스 수입니다. |
| min_instances | Snowflake가 실행해야 하는 최소 서비스 인스턴스 수입니다. |
| max_instances | 필요할 때 Snowflake가 확장할 수 있는 최대 서비스 인스턴스 수입니다. |
| auto_resume | true이면 서비스 함수가 호출되거나 들어오는 요청(ingress)이 수신될 때, 일시 중단된 서비스를 Snowflake가 자동으로 재개합니다. |
| external_access_integrations | 서비스와 연결된 외부 액세스 통합 목록입니다. |
| created_on | 서비스가 생성된 타임스탬프입니다. |
| updated_on | 서비스가 마지막으로 업데이트된 타임스탬프입니다. |
| resumed_on | 서비스가 마지막으로 재개된 타임스탬프입니다. |
| suspended_on | 서비스가 마지막으로 일시 중단된 타임스탬프입니다. 서비스가 재개된 후에도 그대로 유지됩니다. NULL이면 서비스가 한 번도 일시 중단된 적이 없다는 뜻입니다. |
| auto_suspend_secs | 비활성 상태가 이 시간(초)이 지나면 Snowflake가 자동으로 서비스를 일시 중단합니다. 0으로 설정되거나 설정되지 않으면 자동 일시 중단하지 않아요. |
| comment | 서비스 관련 주석입니다. |
| owner_role_type | 객체를 소유한 역할의 유형으로, ROLE 또는 DATABASE_ROLE입니다. |
| query_warehouse | 서비스 컨테이너가 쿼리를 실행하려고 Snowflake에 연결할 때 웨어하우스를 명시적으로 지정하지 않으면, Snowflake가 기본으로 사용하는 웨어하우스입니다. |
| is_job | 서비스가 잡 서비스이면 true, 아니면 false입니다. |
| is_async_job | 잡 서비스가 비동기적으로 실행 중이면 true입니다. 기본적으로 Snowflake는 잡 서비스를 동기적으로 실행합니다. 이 컬럼은 DESC SERVICE, SHOW SERVICES, SHOW JOB SERVICES 명령어의 출력에 포함되지만 SHOW SERVICES EXCLUDING JOBS의 출력에는 포함되지 않아요. |
| spec_digest | 서비스 사양 내용을 나타내는 고유하고 불변하는 식별자입니다. 값의 변화를 관찰하려면 서비스 사용자가 주기적으로 SHOW SERVICES를 실행해 값이 바뀌면 서비스가 업그레이드되었음을 유추할 수 있어요. |
| is_upgrading | Snowflake가 서비스를 업그레이드하는 중이면 TRUE입니다. |
| managing_object_domain | 관리 객체의 도메인입니다(예: 서비스를 관리하는 노트북의 도메인). Snowflake 엔티티가 관리하지 않는 서비스는 NULL입니다. |
| managing_object_name | 관리 객체의 이름입니다. Snowflake 엔티티가 관리하지 않는 서비스는 NULL입니다. |
DNS 이름에 대한 참고 사항:
- 스키마 이름을 바꿔도 식별자는 변하지 않습니다.
- 같은 이름으로 스키마를 삭제 후 재생성하면 식별자가 변경됩니다.
- DNS 이름은 서비스 간 통신을 가능하게 해줍니다.
스키마의 고유 ID를 찾으려면:
SELECT SYSTEM$GET_SERVICE_DNS_DOMAIN('mydb.myschema');
접근 제어 요구 사항 (Access control requirements)
이 작업을 실행하는 역할은 최소한 다음 권한 중 하나를 가져야 합니다: OWNERSHIP, USAGE, MONITOR 또는 OPERATE (객체: Service).
스키마 안의 객체를 조작하려면 상위 데이터베이스에 대한 권한이 1개 이상, 상위 스키마에 대한 권한이 1개 이상 필요합니다. 지정된 권한 집합으로 커스텀 역할을 만드는 방법은 Creating custom roles을, securable 객체에 대한 역할과 권한 부여에 관한 일반 정보는 Overview of Access Control을 참고하세요.
사용 참고 사항 (Usage notes)
- 이 명령어의 출력을 후처리하려면 파이프 연산자(
->>)나RESULT_SCAN함수를 사용할 수 있어요. 두 방식 모두 출력을 조회 가능한 결과 집합으로 취급합니다. 예를 들어 SHOW 명령어 출력에서 원하는 컬럼만 선택하거나 행을 필터링할 수 있어요. - 출력 컬럼을 참조할 때는 컬럼 이름을 큰따옴표 식별자로 사용하세요. 예를 들어 출력 컬럼
type을 선택하려면SELECT "type"처럼 지정합니다. SHOW 명령어의 출력 컬럼 이름은 소문자이므로 큰따옴표 식별자를 반드시 사용해야 해요.
예제 (Examples)
다음은 echo_service라는 서비스를 설명하는 예제입니다.
DESCRIBE SERVICE echo_service;
+--------------+---------+---------------+-------------+-----------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------+
| name | status | database_name | schema_name | owner | compute_pool | spec | 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 |
| | | | | | | spec: | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | containers: | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | - name: "echo" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | image: "sfengineering-prod1-snowservices-test2.registry.snowflakecomputing.com/tutorial_db/data_schema/tutorial_repository/my_echo_service_image:latest" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | sha256: "@sha256:d04a2d7b7d9bd607df994926e3cc672edcb541474e4888a01703e8bb0dd3f173" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | env: | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | SERVER_PORT: "8000" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | CHARACTER_NAME: "Bob" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | readinessProbe: | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | port: 8000 | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | path: "/healthcheck" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | resources: | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | limits: | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | memory: "6Gi" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | cpu: "1" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | requests: | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | memory: "0.5Gi" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | cpu: "0.5" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | endpoints: | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | - name: "echoendpoint" | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | port: 8000 | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | public: true | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+--------------+---------+---------------+-------------+-----------+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------+