snow object create

지정된 유형의 오브젝트를 생성합니다. 지원되는 오브젝트 및 매개 변수 목록은 설명서를 확인하십시오.

구문

snow object create
  <object_type>
  <object_attributes>
  --json <object_json>
  --connection <connection>
  --host <host>
  --port <port>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --private-key-file <private_key_file>
  --token-file-path <token_file_path>
  --database <database>
  --schema <schema>
  --role <role>
  --warehouse <warehouse>
  --temporary-connection
  --mfa-passcode <mfa_passcode>
  --enable-diag
  --diag-log-path <diag_log_path>
  --diag-allowlist-path <diag_allowlist_path>
  --format <format>
  --verbose
  --debug
  --silent
Copy

인자

object_type

오브젝트 유형입니다. 예를 들어, 테이블, 데이터베이스, 컴퓨팅 풀 등이 있습니다.

object_attributes...

키=값 페어의 목록으로 제공되는 오브젝트 특성(예: name=my_db comment=’created with Snowflake CLI’)입니다. 모든 오브젝트에 대해 사용 가능한 매개 변수의 전체 목록은 설명서를 확인하십시오.

선택 사항

--json TEXT

JSON 형식의 오브젝트 정의로, 예를 들어 ‘{“name”: “my_db”, “comment”: “created with Snowflake CLI”}’입니다. 각 오브젝트에 대해 사용 가능한 매개 변수의 전체 목록은 설명서를 확인하십시오.

--connection, -c, --environment TEXT

config.toml 파일에 정의된 연결의 이름입니다. 기본값: default.

--host TEXT

연결을 위한 호스트 주소입니다. 연결에 지정된 값을 재정의합니다.

--port INTEGER

연결의 포트입니다. 연결에 지정된 값을 재정의합니다.

--account, --accountname TEXT

Snowflake 계정에 할당된 이름입니다. 연결에 지정된 값을 재정의합니다.

--user, --username TEXT

Snowflake에 연결할 사용자 이름입니다. 연결에 지정된 값을 재정의합니다.

--password TEXT

Snowflake 비밀번호입니다. 연결에 지정된 값을 재정의합니다.

--authenticator TEXT

Snowflake 인증자입니다. 연결에 지정된 값을 재정의합니다.

--private-key-file, --private-key-path TEXT

Snowflake 개인 키 파일 경로입니다. 연결에 지정된 값을 재정의합니다.

--token-file-path TEXT

Snowflake에 연결할 때 사용해야 하는 OAuth 토큰이 포함된 파일 경로입니다.

--database, --dbname TEXT

사용할 데이터베이스입니다. 연결에 지정된 값을 재정의합니다.

--schema, --schemaname TEXT

사용할 데이터베이스 스키마입니다. 연결에 지정된 값을 재정의합니다.

--role, --rolename TEXT

사용할 역할입니다. 연결에 지정된 값을 재정의합니다.

--warehouse TEXT

사용할 웨어하우스입니다. 연결에 지정된 값을 재정의합니다.

--temporary-connection, -x

config에서 정의된 연결 대신, 명령줄 매개 변수로 정의된 연결을 사용합니다. 기본값: False.

--mfa-passcode TEXT

다단계 인증(MFA)에 사용할 토큰입니다.

--enable-diag

Python 커넥터 진단 테스트를 실행합니다. 기본값: False.

--diag-log-path TEXT

진단 보고서 경로입니다. 기본값: <temporary_directory>.

--diag-allowlist-path TEXT

선택적 허용 목록에 대한 진단 보고서 경로입니다.

--format [TABLE|JSON]

출력 형식을 지정합니다. 기본값: TABLE.

--verbose, -v

로그 수준 info 이상의 로그 항목을 표시합니다. 기본값: False.

--debug

로그 수준 디버그 이상에 대한 로그 항목을 표시하며, 디버그 로그에는 추가 정보가 포함됩니다. 기본값: False.

--silent

콘솔로의 중간 출력을 끕니다. 기본값: False.

--help

이 명령에 대한 도움말 텍스트를 표시합니다.

사용법 노트

snow object create 명령은 제공된 오브젝트 특성 또는 정의에 따라 다음 유형 중 하나에 해당하는 Snowflake 오브젝트를 생성합니다.

  • account

  • catalog-integration

  • compute-pool

  • database

  • database-role

  • dynamic-table

  • event-table

  • external-volume

  • function

  • image-repository

  • managed-account

  • network-policy

  • notebook

  • notification-integration

  • pipe

  • procedure

  • role

  • schema

  • service

  • stage

  • stream

  • table

  • task

  • user-defined-function

  • view

  • warehouse

각 오브젝트에 대해 오브젝트 특성이나 오브젝트 정의를 사용하여 적절한 오브젝트 세부 정보를 지정해야 합니다.

  • object_attributes 매개 변수를 사용하여 다음과 같이 오브젝트 세부 정보를 일련의 <key>=<value> 페어로 지정합니다.

    snow object create database name=my_db comment="Created with Snowflake CLI"
    
    Copy
  • 다음과 같이 오브젝트 세부 정보를 JSON으로 지정하려면 --json object_definition 옵션을 사용합니다.

    snow object create table name=my_table columns='[{"name":"col1","datatype":"number", "nullable":false}]' constraints='[{"name":"prim_key", "column_names":["col1"], "constraint_type":"PRIMARY KEY"}]' --database my_db
    
    Copy
  • 추가적인 예제는 예제 섹션을 참조하십시오.

참고

다음 오브젝트 유형은 config.toml 같이 연결 구성에서 데이터베이스를 식별하거나 --database 옵션을 사용하여 명령에 전달해야 합니다.

  • image-repository

  • 스키마

  • 서비스

  • 테이블

  • 작업

다음 섹션에서는 선택한 오브젝트 유형에 대해 Snowflake CLI 가 지원하는 특성에 대해 설명합니다.

다른 유형의 오브젝트에 대한 특성은 해당 SQL CREATE 명령 참조(예: CREATE ACCOUNT)를 확인하여 찾을 수 있습니다.

컴퓨팅 풀 오브젝트 특성

컴퓨팅 풀 특성

속성

설명

이름

필수, 문자열

Snowflake 오브젝트 식별자.

min_nodes

필수, 정수

컴퓨팅 풀의 최소 노드 수입니다.

max_nodes

필수, 정수

컴퓨팅 풀의 최대 노드 수입니다.

instance_family

필수, 문자열

인스턴스 패밀리의 이름입니다. 인스턴스 패밀리에 대한 자세한 내용은 SQL CREATECOMPUTE POOL 명령을 참조하십시오.

auto_resume

선택 사항, 문자열

컴퓨팅 풀이 필요한 문이 제출될 때 컴퓨팅 풀을 자동으로 재개할지 여부입니다.

comment

선택 사항, 문자열

컴퓨팅 풀을 설명하는 설명입니다.

auto_suspend_secs

선택 사항, 문자열

Snowflake가 비활성 상태 지속 시 컴퓨팅 풀을 자동으로 일시 중단하도록 설정하는 시간(초)입니다.

데이터베이스 오브젝트 특성

데이터베이스 특성

속성

설명

이름

필수, 문자열

Snowflake 오브젝트 식별자.

comment

선택 사항, 문자열

데이터베이스를 설명하는 설명입니다.

data_retention_time_in_days

선택 사항, 정수

스키마에서 Time Travel 작업(CLONE 및 UNDROP)을 수행할 수 있는 일 수와 스키마에 생성된 모든 테이블의 기본 Time Travel 보존 시간입니다.

default_ddl_collation

선택 사항, 문자열

데이터베이스에 추가된 모든 스키마와 테이블에 대한 기본 데이터 정렬 사양입니다. 스키마 및 개별 테이블 수준에서 이 기본값을 재정의할 수 있습니다.

max_data_extension_time_in_days

선택 사항, 정수

Snowflake가 테이블의 스트림이 부실해지는 것을 방지하기 위해 데이터베이스에 있는 테이블의 데이터 보존 기간을 연장할 수 있는 최대 일수입니다.

suspend_task_after_num_failures

선택 사항, 정수

현재 작업을 자동으로 일시 중단하는 조치를 취할 연속 작업 실행 실패 횟수입니다.

user_task_managed_initial_warehouse_size

선택 사항, 정수

Snowflake가 이상적인 크기를 결정하기 위해 작업 기록을 사용할 수 있기 전에, 작업의 첫 번째 실행을 위해 프로비저닝할 컴퓨팅 리소스의 크기입니다. 가능한 값으로는 XSMALL, SMALL, MEDIUM, LARGE, XLARGE 등이 있습니다.

user_task_timeout_ms

선택 사항, 정수

시간 초과가 발생하기 전까지 작업을 1회 실행할 수 있는 시간 제한(밀리초)입니다.

이미지 리포지토리 오브젝트 특성

이미지 리포지토리 특성

속성

설명

이름

필수, 문자열

Snowflake 오브젝트 식별자.

스키마 오브젝트 특성

스키마 특성

속성

설명

이름

필수, 문자열

Snowflake 오브젝트 식별자.

comment

선택 사항, 문자열

스키마를 설명하는 설명입니다.

data_retention_time_in_days

선택 사항, 정수

스키마에서 Time Travel 작업(CLONE 및 UNDROP)을 수행할 수 있는 일 수와 스키마에 생성된 모든 테이블의 기본 Time Travel 보존 시간입니다.

default_ddl_collation

선택 사항, 문자열

데이터베이스에 추가된 모든 스키마와 테이블에 대한 기본 데이터 정렬 사양입니다. 스키마 및 개별 테이블 수준에서 이 기본값을 재정의할 수 있습니다.

max_data_extension_time_in_days

선택 사항, 정수

Snowflake가 테이블의 스트림이 부실해지는 것을 방지하기 위해 데이터베이스에 있는 테이블의 데이터 보존 기간을 연장할 수 있는 최대 일수입니다.

suspend_task_after_num_failures

선택 사항, 정수

현재 작업을 자동으로 일시 중단하는 조치를 취할 연속 작업 실행 실패 횟수입니다.

user_task_managed_initial_warehouse_size

선택 사항, 정수

Snowflake가 이상적인 크기를 결정하기 위해 작업 기록을 사용할 수 있기 전에, 작업의 첫 번째 실행을 위해 프로비저닝할 컴퓨팅 리소스의 크기입니다.

user_task_timeout_ms

선택 사항, 정수

시간 초과가 발생하기 전까지 작업을 1회 실행할 수 있는 시간 제한(밀리초)입니다.

서비스 오브젝트 특성

서비스 특성

속성

설명

이름

필수, 문자열

Snowflake 오브젝트 식별자.

compute_pool

필수, 문자열

서비스를 실행할 계정의 컴퓨팅 풀의 이름입니다.

사양

필수, 오브젝트

서비스 사양 자세한 내용은 서비스 사양 테이블 섹션을 참조하십시오.

external_access_integrations

선택 사항, 문자열 목록

서비스가 외부 사이트에 액세스할 수 있도록 하는 외부 액세스 통합의 이름입니다.

auto_resume

선택 사항, 부울

서비스 함수 또는 수신이 호출될 때 서비스를 자동으로 재개할지 여부입니다.

min_instances

선택 사항, 정수

실행할 서비스 인스턴스의 최소 개수입니다.

max_instances

선택 사항, 정수

실행할 서비스 인스턴스의 최대 개수입니다.

query_warehouse

선택 사항, 문자열

서비스 컨테이너가 Snowflake에 연결하여 쿼리를 실행하지만 사용할 웨어하우스를 명시적으로 지정하지 않은 경우 사용할 웨어하우스입니다.

comment

선택 사항, 문자열

서비스에 대한 설명입니다.

서비스 사양 특성

서비스 사양 특성

속성

설명

spec_type

필수, 문자열

서비스 사양의 유형입니다. 가능한 값은 from_file 또는 from_inline 입니다.

spec_text

필수, 문자열

(spec_type="from_inline" 에만 유효)

서비스 사양 달러 기호 페어($$)를 사용하여 사양 문자열의 시작과 끝을 구분할 수 있습니다.

스테이지

필수, 문자열

(spec_type="from_inline" 에만 유효)

사양 파일이 저장되는 Snowflake 내부 스테이지(예: @tutorial_stage)입니다.

이름

필수, 문자열

(spec_type="from_inline" 에만 유효)

스테이지의 서비스 사양 파일 경로(예: some-dir/echo_spec.yaml)입니다.

테이블 오브젝트 특성

테이블 특성

속성

설명

이름

필수, 문자열

Snowflake 오브젝트 식별자. 이름은 테이블이 생성되는 스키마에 대해 고유해야 합니다.

종류

선택 사항, 문자열

테이블 타입. 가능한 값은 TABLE(영구 테이블), TEMPORARY 및 TRANSIENT입니다.

comment

선택 사항, 문자열

테이블에 대한 설명입니다.

cluster_by[]

선택 사항, 문자열 목록

테이블에 있는 하나 이상의 열 또는 열 식의 목록을 클러스터링 키로 사용합니다.

enable_schema_evolution

선택 사항, 부울

테이블에 대한 스키마 진화를 활성화 또는 비활성화할지 여부입니다.

change_tracking

선택 사항, 부울

테이블에 대한 변경 내용 추적을 활성화 또는 비활성화할지 여부입니다.

data_retention_time_in_days

선택 사항, 정수

테이블의 과거 데이터에 대해 Time Travel 작업 SELECT, CLONE, UNDROP을 수행할 수 있도록 테이블의 보존 기간(일 단위)입니다.

max_data_extension_time_in_days

선택 사항, 정수

테이블의 스트림이 부실해지는 것을 방지하기 위해 Snowflake가 데이터 보존 기간을 연장할 수 있는 최대 일수입니다.

default_ddl_collation

선택 사항, 문자열

향후 테이블에 추가되는 열 등 테이블의 열에 대한 기본 데이터 정렬 사양입니다.

필수, 열 목록

열 정의의 목록입니다. 열 정의 특성 섹션을 참조하십시오.

제약 사항

선택 사항, 제약 조건 목록

제약 조건 정의의 목록입니다. 제약 조건 정의 특성 섹션을 참조하십시오.

열 정의 특성

열 정의 특성

속성

설명

이름

필수, 문자열

열 이름.

데이터 타입

필수, 문자열

열에 포함된 데이터의 유형입니다.

null 가능

선택 사항, 부울

열이 NULL 값을 허용하는지 여부입니다.

데이터 정렬

선택 사항, 문자열

문자열 비교와 같은 열 작업에 사용할 데이터 정렬입니다.

기본값

선택 사항, 문자열

INSERT 또는 CREATE TABLE AS SELECT 문으로 값을 명시적으로 지정하지 않은 경우 열에 기본값을 자동으로 삽입할지 여부입니다.

자동 증가

선택 사항, 부울

연속된 열에 숫자를 자동으로 증가시키고 포함할지 여부입니다.

autoincrement_start

선택 사항, 정수

열의 시작 값입니다.

autoincrement_increment

선택 사항, 정수

다음 자동 증가 숫자를 결정하기 위한 증가입니다.

comment

선택 사항, 문자열

열에 대한 설명입니다.

제약 조건 정의 특성

제약 조건 정의 특성

속성

설명

이름

필수, 문자열

제약 조건 이름입니다.

column_names

필수, 문자열 목록

제약 조건을 적용할 열의 이름입니다.

constraint_type

필수, 문자열

제약 조건의 유형. 가능한 값으로는 UNIQUE, PRIMARY KEY 및 FOREIGN KEY 등이 있습니다.

referenced_table_name

필수, 문자열

(constraint_type="FOREIGN KEY" 에만 유효)

외래 키로 참조되는 테이블의 이름

referenced_column_names

선택 사항, 문자열

(constraint_type="FOREIGN KEY" 에만 유효)

외래 키로 참조되는 열의 이름

작업 특성

작업 특성

속성

설명

이름

필수, 문자열

Snowflake 오브젝트 식별자.

정의

필수, 문자열

작업에 대한 SQL 정의입니다. 단일 SQL 문, 저장 프로시저 호출 또는 Snowflake 스크립팅을 사용하는 프로시저 논리일 수 있습니다.

웨어하우스

선택 사항, 문자열

작업 실행을 위한 컴퓨팅 리소스를 제공하는 가상 웨어하우스입니다.

일정

선택 사항, 문자열

작업을 주기적으로 실행하기 위한 일정입니다. 자세한 내용은 작업 일정 특성 섹션을 참조하십시오.

comment

선택 사항, 문자열

작업에 대한 설명입니다.

선행 작업

선택 사항, 문자열 목록

현재 작업에 대한 하나 이상의 선행 작업입니다.

user_task_managed_initial_warehouse_size

선택 사항, 문자열

작업의 첫 번째 실행을 위해 프로비저닝할 컴퓨팅 리소스의 크기입니다.

user_task_timeout_ms

선택 사항, 문자열

시간 초과가 발생하기 전까지 작업을 1회 실행할 수 있는 시간 제한(밀리초)입니다.

suspend_task_after_num_failures

선택 사항, 정수

현재 작업을 자동으로 일시 중단하는 조치를 취할 연속 작업 실행 실패 횟수입니다.

상태

선택 사항, 문자열

부울 SQL 식으로, AND/OR로 조인된 여러 조건이 지원됩니다.

allow_overlapping_execution

선택 사항, 부울

DAG의 여러 인스턴스를 동시에 실행하도록 허용할지 여부입니다.

작업 일정 특성

작업 일정 특성

속성

설명

schedule_type

선택 사항, 문자열

일정예약의 유형입니다. 가능한 값은 CRON_TYPE 또는 MINUTES_TYPE 입니다.

cron_expr

선택 사항, 문자열

(schedule_type="CRON_TYPE" 에만 유효)

작업 실행을 위한 Cron 식(예: “* * * * ? *”)입니다.

시간대

선택 사항, 문자열

(schedule_type="CRON_TYPE" 에만 유효)

일정의 시간대(예: "america/los_angeles")입니다.

선택 사항, 문자열

(schedule_type="MINUTES_TYPE" 에만 유효)

각 작업이 실행되는 간격(분)입니다.

웨어하우스 특성

웨어하우스 특성

속성

설명

이름

필수, 문자열

Snowflake 오브젝트 식별자.

comment

선택 사항, 문자열

웨어하우스에 대한 설명입니다.

warehouse_type

선택 사항, 문자열

웨어하우스의 유형입니다. 가능한 값으로는 STANDARD 및 SNOWPARK-OPTIMIZED 등이 있습니다.

warehouse_size

선택 사항, 문자열

웨어하우스의 크기입니다. 가능한 값으로는 XSMALL, SMALL, MEDIUM, LARGE, XLARGE, XXLARGE, XXXLARGE, X4LARGE, X5LARGE, X6LARGE 등이 있습니다.

auto_suspend

선택 사항, 문자열

웨어하우스가 자동으로 중단되기 전의 시간(초)입니다.

auto_resume

선택 사항, 문자열

웨어하우스에 SQL 문이 제출될 때 웨어하우스를 자동으로 재개할지 여부입니다. 가능한 값은 “true” 및 “false”입니다.

max_concurrency_level

선택 사항, 정수

웨어하우스 클러스터에서 실행되는 SQL 문에 대한 동시성 수준입니다.

statement_queued_timeout_in_seconds

선택 사항, 정수

SQL 문이 시스템에 의해 취소되기 전까지 웨어하우스의 큐에서 대기할 수 있는 시간(초)입니다.

statement_timeout_in_seconds

선택 사항, 정수

실행 중인 SQL 문이 시스템에 의해 취소되는 시간(초)입니다.

resource_monitor

선택 사항, 문자열

웨어하우스에 명시적으로 할당된 리소스 모니터의 이름입니다. 리소스 모니터가 웨어하우스에 명시적으로 할당된 경우, 모니터는 웨어하우스에서 사용하는 월별 크레딧을 제어합니다.

  • option-attributes 매개 변수를 사용하여 데이터베이스 오브젝트를 생성합니다.

    snow object create database name=my_db comment='Created with Snowflake CLI'
    
    Copy
  • option-attributes 매개 변수를 사용하여 테이블 오브젝트를 생성합니다.

    snow object create table name=my_table columns='[{"name":"col1","datatype":"number", "nullable":false}]' constraints='[{"name":"prim_key", "column_names":["col1"], "constraint_type":"PRIMARY KEY"}]' --database my_db
    
    Copy
  • --json object-definition 옵션을 사용하여 데이터베이스를 생성합니다.

    snow object create database --json '{"name":"my_db", "comment":"Created with Snowflake CLI"}'
    
    Copy
  • --json object-definition 옵션을 사용하여 테이블을 생성합니다.

    snow object create table --json "$(cat table.json)" --database my_db
    
    Copy

    여기서 table.json 에는 다음이 포함됩니다.

    {
      "name": "my_table",
      "columns": [
        {
          "name": "col1",
          "datatype": "number",
          "nullable": false
        }
      ],
      "constraints": [
        {
          "name": "prim_key",
          "column_names": ["col1"],
          "constraint_type": "PRIMARY KEY"
        }
      ]
    }
    
    Copy