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' のように、key=value のペアのリストとして提供されるオブジェクト属性。各オブジェクトで使用可能なパラメーターの完全なリストについては、ドキュメントを確認してください。

オプション

--json TEXT

JSON 形式でのオブジェクト定義。例: '{"name": "my_db", "comment": "created with Snowflake CLI"}'各オブジェクトで使用可能なパラメーターの完全なリストについては、ドキュメントを確認してください。

--connection, -c, --environment TEXT

config.toml ファイルで定義されている接続の名前。デフォルト: デフォルト

--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

構成で定義された接続ではなく、コマンドラインパラメーターで定義された接続を使用します。デフォルト: 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

ログレベル 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 パラメーターは、オブジェクトの詳細を:codenowrap:<key>=<value> の一連のペアとして以下のように指定します。

    snow object create database name=my_db comment="Created with Snowflake CLI"
    
    Copy
  • --json object_definition オプションを使って、オブジェクトの詳細を JSON のように以下のように指定します。

    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 オプションを使用してコマンドに渡す必要があります。

  • イメージリポジトリ

  • スキーマ

  • サービス

  • テーブル

  • タスク

以下のセクションでは、 Snowflake CLI がサポートするオブジェクト・タイプの属性について説明します。

他のタイプのオブジェクトの属性は、 CREATE ACCOUNT のような、対応する SQL CREATE コマンドの参照をチェックすることで見つけることができます。

コンピューティングプール・オブジェクトの属性

コンピューティングプールの属性

属性

説明

name

required, string

Snowflakeオブジェクト識別子。

min_nodes

必須整数

コンピューティングプールの最小ノード数。

max_nodes

必須整数

コンピューティングプールの最大ノード数。

インスタンス・ファミリー

required, string

インスタンスファミリーの名前。インスタンスファミリーの詳細については、 SQL CREATE COMPUTE POOL コマンドをご参照ください。

auto_resume

optional, string

コンピューティングプールを必要とするステートメントが提出されたときに、コンピューティングプールを自動的に再開するかどうか。

コメント

optional, string

コンピューティングプールを説明するコメント。

auto_suspend_secs

optional, string

Snowflakeがコンピューティングプールを自動的に一時停止するまでの非アクティブの秒数。

データベースオブジェクトの属性

データベース属性

属性

説明

name

required, string

Snowflakeオブジェクト識別子。

コメント

optional, string

データベースを説明するコメント。

データ保持時間の日数

任意整数

スキーマでTime Travelアクション(CLONE および UNDROP)を実行できる日数を指定し、スキーマで作成されたすべてのテーブルのデフォルトのTime Travel保持時間数。

default_ddl_collation

optional, string

データベースに追加されたすべてのスキーマとテーブルの照合仕様をデフォルトにします。このデフォルトは、スキーマおよび個々のテーブル・レベルでオーバーライドできます。

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回の実行の制限時間(ミリ秒単位)。

イメージリポジトリ・オブジェクト属性

イメージリポジトリの属性

属性

説明

name

required, string

Snowflakeオブジェクト識別子。

スキーマ・オブジェクト属性

スキーマ属性

属性

説明

name

required, string

Snowflakeオブジェクト識別子。

コメント

optional, string

スキーマを説明するコメント。

データ保持時間の日数

任意整数

スキーマでTime Travelアクション(CLONE および UNDROP)を実行できる日数を指定し、スキーマで作成されたすべてのテーブルのデフォルトのTime Travel保持時間数。

default_ddl_collation

optional, string

データベースに追加されたすべてのスキーマとテーブルの照合仕様をデフォルトにします。このデフォルトは、スキーマおよび個々のテーブル・レベルでオーバーライドできます。

max_data_extension_time_in_days

任意整数

Snowflakeがデータベース内のテーブルのデータ保持期間を延長して、テーブル上のストリームが古くなるのを防ぐことができる最大日数。

suspend_task_after_num_failures

任意整数

現在のタスクが自動的に中断される連続した失敗タスク数。

user_task_managed_initial_warehouse_size

任意整数

Snowflakeが理想的なサイズを決定するためにタスク履歴を使用できるようになる前に、タスクの最初の実行にプロビジョニングするコンピューティングリソースのサイズを指定します。

user_task_timeout_ms

任意整数

タスクがタイムアウトするまでの1回の実行の制限時間(ミリ秒単位)。

サービスオブジェクトの属性

サービス属性

属性

説明

name

required, string

Snowflakeオブジェクト識別子。

compute_pool

required, string

サービスを実行するアカウントのコンピューティングプールの名前。

スペック

必須オブジェクト

サービス仕様詳細は サービス仕様表 をご参照ください。

external_access_integrations

任意文字列リスト

サービスが外部サイトにアクセスできるようにする、外部アクセス統合の名前。

auto_resume

optional, boolean

サービス関数またはイングレスが呼び出された場合に、サービスを自動的に再開するかどうかを指定します。

min_instances

任意整数

実行するサービスインスタンスの最小数。

max_instances

任意整数

実行するサービスインスタンスの最大数。

query_warehouse

optional, string

サービスコンテナがクエリを実行するためにSnowflakeに接続するけれども、使用するウェアハウスを明示的に指定しない場合に使用するウェアハウス。

コメント

optional, string

サービスのコメント。

サービス仕様の属性

サービス仕様属性

属性

説明

spec_type

required, string

サービス仕様のタイプ。可能な値は from_filefrom_inline を含みます。

spec_text

required, string

(spec_type="from_inline" に対してのみ有効)

サービス仕様ドル記号のペア($$)を使用して、仕様文字列の最初と最後を区切ることができます。

ステージ

required, string

(spec_type="from_inline" に対してのみ有効)

仕様ファイルが保管されているSnowflake内部ステージです。例えば、 @tutorial_stage です。

name

required, string

(spec_type="from_inline" に対してのみ有効)

ステージ上の サービス仕様ファイルへのパスです。例: some-dir/echo_spec.yaml

テーブル・オブジェクトの属性

テーブル属性

属性

説明

name

required, string

Snowflakeオブジェクト識別子。この名前は、テーブルが作成されるスキーマに対して一意である必要があります。

種類

optional, string

テーブルタイプ設定可能な値には、パーマネント・テーブル、 TEMPORARY 、 TRANSIENT の場合は TABLE があります。

コメント

optional, string

テーブルの説明。

cluster_by[]

任意文字列リスト

テーブル内の1つ以上の列または列式をクラスタリングキーとして指定します。

enable_schema_evolution

optional, boolean

テーブルのスキーマ進化を有効にするか無効にするか。

change_tracking

optional, boolean

テーブルの変更追跡を有効にするか無効にするか。

データ保持時間の日数

任意整数

テーブルの履歴データに対してTime Travelアクション(SELECT 、 CLONE 、 UNDROP)を実行できるように、テーブルの保持期間を指定します。

max_data_extension_time_in_days

任意整数

Snowflakeがテーブルのデータ保持期間を延長して、テーブル上のストリームが古くなるのを防ぐことができる最大日数。

default_ddl_collation

optional, string

将来テーブルに追加される列を含む、テーブルの列の照合順序仕様をデフォルトにします。

必須列リスト

列の定義のリスト。 列定義属性 をご参照ください。

制約事項

任意制約リスト

制約の定義のリスト。 制約定義属性 をご参照ください。

列定義属性

カラム定義属性

属性

説明

name

required, string

列名。

データ型

required, string

列に含まれるデータのタイプ。

nullable

optional, boolean

列が NULL 値を許可するかどうか。

collate

optional, string

文字列比較などの列操作に使用する照合順序を指定します。

デフォルト

optional, string

INSERT または CREATE TABLE AS SELECT ステートメントで明示的に値が指定されていない場合に、自動的に列にデフォルト値を挿入するかどうか。

autoincrement

optional, boolean

連続する列の数字を自動的にインクリメントして含めるかどうか。

autoincrement_start

任意整数

列のスターリング値。

autoincrement_increment

任意整数

次の自動インクリメント数を決定するためのインクリメント。

コメント

optional, string

列の説明。

Constraint definition attributes

制約定義属性

属性

説明

name

required, string

制約名。

column_names

必須文字列リスト

制約を適用する列名。

constraint_type

required, string

制約のタイプ。可能な値は次を含みます: UNIQUE 、 PRIMARY KEY 、および FOREIGN KEY・。

referenced_column_names

required, string

(constraint_type="FOREIGN KEY" に対してのみ有効)

外部キーが参照するテーブル名

query_warehouse

optional, string

(constraint_type="FOREIGN KEY" に対してのみ有効)

外部キーが参照する列名

タスク属性

タスク属性

属性

説明

name

required, string

Snowflakeオブジェクト識別子。

定義

required, string

SQL タスクの定義単一の SQL ステートメント、ストアドプロシージャの呼び出し、またはSnowflakeスクリプトを使用した手続き型ロジックです。

ウェアハウス

optional, string

タスク実行用のコンピューティングリソースを提供する仮想ウェアハウスを指定します。

スケジュール

optional, string

タスクを定期的に実行するスケジュールを指定します。詳細は タスクスケジュール属性 をご参照ください。

コメント

optional, string

タスクを説明するコメント。

前任者

任意文字列リスト

現在のタスクに対する1つ以上の先行タスクを指定します。

user_task_managed_initial_warehouse_size

optional, string

タスクの最初の実行のためにプロビジョニングする計算リソースのサイズ。

user_task_timeout_ms

optional, string

タスクがタイムアウトするまでの1回の実行の制限時間(ミリ秒単位)。

suspend_task_after_num_failures

任意整数

現在のタスクが自動的に中断される連続した失敗タスク数。

コンディション

optional, string

ブール値 SQL 式を指定します。 AND/OR で結合された複数の条件がサポートされています。

allow_overlapping_execution

optional, boolean

DAG の複数のインスタンスを同時に実行できるようにするかどうかを指定します。

タスクスケジュールの属性

タスクスケジュールの属性

属性

説明

schedule_type

optional, string

スケジュールのタイプ。可能な値は CRON_TYPEMINUTES_TYPE を含みます。

cron_expr

optional, string

(schedule_type="CRON_TYPE" の場合のみ有効)

“* * * * ? *” のような、タスク実行のためのcron式。

タイムゾーン

optional, string

(schedule_type="CRON_TYPE" の場合のみ有効)

スケジュールのタイムゾーンは、例えば "america/los_angeles" です。

optional, string

(schedule_type="MINUTES_TYPE" の場合のみ有効)

各タスクの実行間隔の分数。

ウェアハウス属性

ウェアハウス属性

属性

説明

name

required, string

Snowflakeオブジェクト識別子。

コメント

optional, string

ウェアハウスの説明

warehouse_type

optional, string

ウェアハウスのタイプ。可能な値は、 STANDARD 、 SNOWPARK-OPTIMIZED を含みます。

warehouse_size

optional, string

ウェアハウスのサイズ。可能な値は次を含みます。 XSMALL、 SMALL、 MEDIUM、 LARGE、 XLARGE、 XXLARGE、 XXXLARGE、 X4LARGE、 X5LARGE、 X6LARGE。

auto_suspend

optional, string

ウェアハウスが自動的に一時停止するまでの時間(秒)。

auto_resume

optional, string

SQL ステートメント(クエリなど)の送信時にウェアハウスを自動的に再開するかどうかを指定します。取り得る値は「true」と「false」を含みます。

max_concurrency_level

任意整数

ウェアハウスクラスターで実行される SQL ステートメントの同時実行レベル。

statement_queued_timeout_in_seconds

任意整数

SQL ステートメントがシステムによりキャンセルされる前に、ウェアハウスのキューに入れることができる時間(秒単位)。

statement_timeout_in_seconds

任意整数

実行中の SQL ステートメントがシステムによってキャンセルされるまでの時間(秒単位)。

resource_monitor

optional, string

ウェアハウスに明示的に割り当てられているリソースモニターの名前。リソースモニターがウェアハウスに明示的に割り当てられている場合、モニターはウェアハウスが使用する月間クレジットを制御します。

  • 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