Snowflakeオブジェクトの管理¶
snow object
コマンドを使用すると、ステージ、Snowpark関数、Streamlitアプリなど、ほとんどのSnowflakeオブジェクトを簡単に管理できます。オブジェクトの種類ごとに別々のコマンドを使用する代わりに、これらのコマンドを使用して、次のような一般的なタスクを実行できます。
サポートされているタイプのリストを表示するには、次のように、いずれかの snow object
コマンドの --help
オプションを使用します。
snow object list --help
Usage: snow object list [OPTIONS] OBJECT_TYPE
Lists all available Snowflake objects of given type.
Supported types: compute-pool, database, function, image-repository, integration, network-rule,
procedure, role, schema, secret, service, stage, stream, streamlit, table, task,
user, view, warehouse
...
オブジェクトのサブコマンドを使用すると、サービス固有の操作専用のサービス固有のコマンドグループを残しながら、一般的な操作を実行できます。
指定したタイプのオブジェクトを作成する¶
snow object create
コマンドは、指定された定義に基づいて、以下の構文で指定されたオブジェクトを作成します。
snow object create TYPE ([OBJECT_ATTRIBUTES]|[--json {OBJECT_DEFINITION}])
条件:
TYPE
は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"
--json {OBJECT_DEFINITION}
は、 JSON のオブジェクト定義を含んでいます。snow object create database --json '{"name":"my_db", "comment":"Created with Snowflake CLI"}'
注釈
以下のオブジェクト・タイプでは、 config.toml
のように接続構成でデータベースを特定するか、 --database
オプションを使用してコマンドに渡す必要があります。
イメージリポジトリ
スキーマ
サービス
テーブル
タスク
option-attributes
パラメーターを使ってデータベース・オブジェクトを作成します。
snow object create database name=my_db comment='Created with Snowflake CLI'
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
--json object-definition
オプションを使ってデータベースを作成します。
snow object create database --json '{"name":"my_db", "comment":"Created with Snowflake CLI"}'
--json object-definition
オプションを使ってテーブルを作成します。
snow object create table --json "$(cat table.json)" --database my_db
table.json
が次を含む場所。
{
"name": "my_table",
"columns": [
{
"name": "col1",
"datatype": "number",
"nullable": false
}
],
"constraints": [
{
"name": "prim_key",
"column_names": ["col1"],
"constraint_type": "PRIMARY KEY"
}
]
}
特定のタイプのすべてのオブジェクトを一覧表示する¶
snow object list
コマンドは、権限で使用可能な指定されたタイプのすべてのオブジェクトを一覧表示します。
snow object list TYPE
ここで、 TYPE
はオブジェクトのタイプです。サポートされているタイプの完全なリストについては、 snow object list --help
を使用してください。
すべてのロールオブジェクトを一覧表示するには、次のコマンドを入力します。
snow object list role
+--------------------------------------------------------------------------------------------------------------------------------+
| | | | | is_inherit | assigned_t | granted_to | granted_ro | | |
| created_on | name | is_default | is_current | ed | o_users | _roles | les | owner | comment |
|------------+------------+------------+------------+------------+------------+------------+------------+------------+-----------|
| 2023-07-24 | ACCOUNTADM | N | N | N | 2 | 0 | 2 | | Account |
| 06:05:49-0 | IN | | | | | | | | administr |
| 7:00 | | | | | | | | | ator can |
| | | | | | | | | | manage |
| | | | | | | | | | all |
| | | | | | | | | | aspects |
| | | | | | | | | | of the |
| | | | | | | | | | account. |
| 2023-07-24 | PUBLIC | N | N | Y | 0 | 0 | 0 | | Public |
| 06:05:48.9 | | | | | | | | | role is |
| 56000-07:0 | | | | | | | | | automatic |
| 0 | | | | | | | | | ally |
| | | | | | | | | | available |
| | | | | | | | | | to every |
| | | | | | | | | | user in |
| | | | | | | | | | the |
| | | | | | | | | | account. |
| 2023-07-24 | SYSADMIN | N | N | N | 0 | 1 | 0 | | System |
| 06:05:49.0 | | | | | | | | | administr |
| 33000-07:0 | | | | | | | | | ator can |
| 0 | | | | | | | | | create |
| | | | | | | | | | and |
| | | | | | | | | | manage |
| | | | | | | | | | databases |
| | | | | | | | | | and |
| | | | | | | | | | warehouse |
| | | | | | | | | | s. |
| 2023-07-24 | USERADMIN | N | N | N | 0 | 1 | 0 | | User |
| 06:05:49.0 | | | | | | | | | administr |
| 45000-07:0 | | | | | | | | | ator can |
| 0 | | | | | | | | | create |
| | | | | | | | | | and |
| | | | | | | | | | manage |
| | | | | | | | | | users and |
| | | | | | | | | | roles |
+--------------------------------------------------------------------------------------------------------------------------------+
--like [-l] <パターン >
を使用し、 SQL LIKE パターンを使用して、名前でオブジェクトをフィルタリングすることもできます。たとえば、 list function --like "my%"
は my で始まるすべての関数を一覧表示します。SQL パターン構文の詳細については、 SQL LIKE キーワード をご参照ください。
文字列 public で始まるロールオブジェクトのみを一覧表示するには、次のコマンドを入力します。
snow object list role --like public%
show roles like 'public%'
+-------------------------------------------------------------------------------
| created_on | name | is_default | is_current | ...
|----------------------------------+-------------+------------+------------+----
| 2023-02-01 15:25:04.105000-08:00 | PUBLIC | N | N | ...
| 2024-01-15 12:55:05.840000-08:00 | PUBLIC_TEST | N | N | ...
+-------------------------------------------------------------------------------
指定されたタイプのオブジェクトの説明を表示する¶
snow object describe
コマンドは、指定したタイプのオブジェクトの説明を提供します。
snow object describe TYPE IDENTIFIER
条件:
TYPE
はオブジェクトのタイプです。サポートされているタイプの完全なリストについては、snow object describe --help
を使用してください。IDENTIFIER
はオブジェクトの名前です。プロシージャーや関数の場合、識別子は"hello(int,string)"
のように引数タイプを指定する必要があります。
関数オブジェクトを記述するには、次のようなコマンドを入力します。
snow object describe function "hello_function(string)"
describe function hello_function(string)
+---------------------------------------------------------------------
| property | value
|--------------------+------------------------------------------------
| signature | (NAME VARCHAR)
| returns | VARCHAR(16777216)
| language | PYTHON
| null handling | CALLED ON NULL INPUT
| volatility | VOLATILE
| body | None
| imports |
| handler | functions.hello_function
| runtime_version | 3.8
| packages | ['snowflake-snowpark-python']
| installed_packages | ['_libgcc_mutex==0.1','_openmp_mutex==5.1',...
+---------------------------------------------------------------------
指定したタイプのオブジェクトを削除する。¶
snow object drop
コマンドは、指定された名前とタイプのSnowflakeオブジェクトを削除します。
snow object drop TYPE IDENTIFIER
条件:
TYPE
はオブジェクトのタイプです。サポートされているタイプの完全なリストについては、snow object drop --help
を使用してください。IDENTIFIER
はオブジェクトの名前です。プロシージャーや関数の場合、識別子は"hello(int,string)"
のように引数タイプを指定する必要があります。
プロシージャーをドロップするには、次のようなコマンドを入力します。
snow object drop procedure "test_procedure()"
drop procedure test_procedure()
+--------------------------------------+
| status |
|--------------------------------------|
| TEST_PROCEDURE successfully dropped. |
+--------------------------------------+