SYSTEM$CLASSIFY_SCHEMA

Schedules the tables in the specified schema to be classified with the option to specify the number of rows to sample in each table and assign the recommended sensitive data classification system tag to each column in the tables stored in the specified schema.

構文

SYSTEM$CLASSIFY_SCHEMA( '<schema_name>' , <object> )
Copy

引数

schema_name

分類されるテーブルを含んでいるスキーマの名前。データベースとスキーマが現在のセッションで使用されていない場合は、名前を完全修飾する必要があります。

名前は、データベースに保存されているとおりに正確に指定する必要があります。名前に特殊文字、大文字小文字の区別、または空白スペースが含まれている場合は、名前を最初に二重引用符で囲み、次に一重引用符で囲む必要があります。

object

分類プロセスがどのように機能するかを決定する JSON OBJECT を指定します。次のいずれかを使用します。

NULL

Snowflakeは、指定されたオブジェクトの行数に基づいてデフォルトの構成を使用します。指定されたオブジェクトにあるどの列にもシステムタグは設定されません。

{}

空のオブジェクト。これは機能的には NULL を指定するのと同様です。

{'sample_count': integer}

指定したオブジェクトにあるサンプルする行数を指定します。 1 から 10000 (各値を含む)までの任意の数。

{'auto_tag': true}

分類プロセスが完了したときに、指定されたオブジェクトの列に推奨分類システムタグを設定します。

この引数を使用する場合は、スキーマに対する OWNERSHIP 権限を持つロールでストアドプロシージャを呼び出します。

{'sample_count': integer, 'auto_tag': true}

サンプルする行数を指定しながら指定されたオブジェクトを分類し、分類処理が完了したら指定されたオブジェクトの各列に推奨システムタグを設定します。

この引数を使用する場合は、スキーマに対する OWNERSHIP 権限を持つロールでストアドプロシージャを呼び出します。

{'use_all_custom_classifiers': true}

Snowflakeはすべてのカスタム分類インスタンスを評価し、分類結果に基づいてカスタム分類インスタンスに関連付けられたタグを推奨します。

このオプションは、ストアドプロシージャを呼び出す使用中のロール(現在のロール、呼び出し元の権限)にアクセス可能なカスタム分類子を使用します。詳細については、 呼び出し元権限と所有者権限のストアドプロシージャについて をご参照ください。

{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}

列に設定する推奨タグのソースとして評価する、カスタム分類インスタンスを指定します。

リストに複数のインスタンスを指定し、各インスタンスをコンマで区切ることができます。

戻り値

ストアドプロシージャは、以下の形式で JSON オブジェクトを返します。例:

{
  "failed": [
    {
      "message": "Insufficient privileges.",
      "table_name": "t4"
    }
  ],
  "succeeded": [
    {
      "table_name": "t1"
    },
    {
      "table_name": "t2"
    },
    {
      "table_name": "t3"
    }
  ]
}
Copy

条件:

failed

テーブルの分類がスケジュールされなかった理由を示すメッセージを指定します。

succeeded

データ分類がスケジュールされる各テーブルを指定します。

使用上の注意

  • 指定されたスキーマ名には、最大1000個のテーブルオブジェクトを含めることができます。スキーマに1000個を超えるテーブルオブジェクトが含まれている場合、Snowflakeはエラーメッセージを返します。

  • Snowflakeのストアドプロシージャは呼び出し元の権限を利用します。詳細については、 呼び出し元権限と所有者権限のストアドプロシージャについて をご参照ください。

  • システムタグの代替値を適用する場合は、 ALTER TABLE ... MODIFY COLUMN ...SET TAG ステートメントを使用してタグ値を更新します。

  • 列から分類システムタグを設定解除するには、 ALTER TABLE ... MODIFY COLUMN ... UNSET TAG ステートメントを使用します。

注意

このストアドプロシージャを呼び出すと、スキーマ内の各テーブルの分類処理が並行して実行され、ウェアハウスのリソースを消費します。このストアドプロシージャを短時間に何度も呼び出して、スキーマ内のテーブルを同時に分類すると、それらの処理も並行して実行されます。多くの並列分類処理がウェアハウスの容量を超えた場合、それが一部のテーブルで分類処理が失敗する原因になる可能性があります。その結果、スキーマに分類されたテーブルと分類されていないテーブルが存在することになります。

Prior to calling SYSTEM$CLASSIFY_SCHEMA, evaluate the number of columns in each table, the number of tables in a schema, the number of schemas that you want to classify, and the warehouse size that is in use for the session.

スキーマ内のテーブルの分類をステージします。

CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables', null);
Copy

スキーマ内のテーブルの分類をステージし、サンプルする行数を指定します。

CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables', {'sample_count': 1000});
Copy

スキーマ内のテーブルの分類をステージし、列にシステムタグを設定します。

CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables', {'auto_tag': true});
Copy

スキーマ内のテーブルの分類をステージし、サンプルする行数を指定し、テーブルの各列に推奨システムタグを設定します。

CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables', {'sample_count': 1000, 'auto_tag': true});
Copy