SYSTEM$CLASSIFY_SCHEMA¶
Stellt die zu klassifizierenden Tabellen des angegebenen Schemas bereit, mit der Option zum Angeben der Anzahl der Zeilen jeder Tabelle in der Stichprobe und zum Setzen des empfohlenen Datenklassifizierungs-System-Tags auf jede Spalte in den Tabellen, die im angegebenen Schema gespeichert sind.
Nachdem die gespeicherte Prozedur ihre Ausführung beendet hat, müssen Sie die Klassifizierung der Tabellen mit SQL oder über Snowsight abschließen, wie unter Datenklassifizierung verwenden gezeigt.
Syntax¶
CALL SYSTEM$CLASSIFY_SCHEMA( '<object_name>' , <arg> )
Argumente¶
object_name
Name des Schemas, das die zu klassifizierenden Tabellen enthält. Wenn in der aktuellen Sitzung weder Datenbank noch Schema verwendet werden, muss der Name vollqualifiziert sein.
Der Name muss genau so angegeben werden, wie er in der Datenbank gespeichert ist. Enthält der Name Sonderzeichen, Großbuchstaben oder Leerzeichen, muss der Name zuerst in Anführungszeichen und dann in einfache Anführungszeichen gesetzt werden.
arg
Gibt ein Argument an, um zu bestimmen, wie der Klassifizierungsprozess funktioniert. Eine der folgenden Optionen:
NULL
Snowflake verwendet seine Standardkonfiguration auf Grundlage der Anzahl der Zeilen im angegebenen Objekt. System-Tags sind für keine der Spalten des angegebenen Objekts festgelegt.
{}
Eine leere Liste, die funktional der Angabe von
NULL
entspricht.{'sample_count': integer}
Gibt die Anzahl der Zeilen in der Stichprobe für das angegebene Objekt. Jede Zahl von
1
bis10000
, einschließlich.{'auto_tag': true}
Legt die empfohlenen Klassifizierungs-System-Tags für die Spalten des angegebenen Objekts fest, wenn der Klassifizierungsprozess abgeschlossen ist.
Wenn Sie dieses Argument verwenden, rufen Sie die gespeicherte Prozedur mit der Rolle auf, die die OWNERSHIP-Berechtigung für das Schema hat.
{'sample_count': integer, 'auto_tag': true}
Klassifizieren Sie das angegebene Objekt unter Angabe der Anzahl der Zeilen in der Stichprobe, und setzen Sie nach Abschluss des Klassifizierungsprozesses das empfohlene System-Tag auf jede Spalte des angegebenen Objekts.
Wenn Sie dieses Argument verwenden, rufen Sie die gespeicherte Prozedur mit der Rolle auf, die die OWNERSHIP-Berechtigung für das Schema hat.
{'use_all_custom_classifiers': true}
Snowflake wertet alle benutzerdefinierten Klassifizierungsinstanzen aus und empfiehlt auf Grundlage des Klassifizierungsergebnisses das Tag, das mit einer kundenspezifischen Klassifizierungsinstanz verbunden werden soll.
Bei dieser Option werden die kundenspezifischen Klassifikatoren verwendet, auf die die Rolle Zugriff hat, mit der die gespeicherte Prozedur aufgerufen wird (aktuelle Rolle, Aufruferrechte). Weitere Details dazu finden Sie unter Understanding Caller’s Rights and Owner’s Rights Stored Procedures.
{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}
Gibt die zu evaluierende Instanz der kundenspezifischen Klassifizierung als Quelle für das empfohlene Tag an, auf das die Spalte gesetzt werden soll.
Sie können mehrere Instanzen in der Liste angeben und jede Instanz durch ein Komma trennen.
Rückgabewerte¶
Die gespeicherte Prozedur gibt ein JSON-Objekt im folgenden Format zurück. Beispiel:
{
"failed": [
{
"message": "Insufficient privileges.",
"table_name": "t4"
}
],
"succeeded": [
{
"table_name": "t1"
},
{
"table_name": "t2"
},
{
"table_name": "t3"
}
]
}
Wobei:
failed
Gibt eine Meldung an, die einen Grund dafür angibt, warum die Tabelle nicht für die Klassifizierung geplant wurde.
succeeded
Gibt jede Tabelle an, die für die Datenklassifizierung bereitgestellt wurde.
Nutzungshinweise¶
Das angegebene Schema kann bis zu 1.000 Tabellenobjekte enthalten. Wenn das Schema mehr als 1.000 Tabellenobjekte enthält, gibt Snowflake eine Fehlermeldung zurück.
Bei global definierten gespeicherten Prozeduren werden Aufruferrechte verwendet. Weitere Details dazu finden Sie unter Understanding Caller’s Rights and Owner’s Rights Stored Procedures.
Wenn Sie alternative Werte für das System-Tag verwenden möchten, können Sie mit der ALTER TABLE … MODIFY COLUMN … SET TAG-Anweisung den Tag-Wert aktualisieren.
Um ein Klassifizierungssystem-Tag aus einer Spalte zu entfernen, verwenden Sie eine ALTER TABLE … MODIFY COLUMN … UNSET TAG-Anweisung.
Beispiele¶
Bereitstellen der Klassifizierung der Tabellen im Schema:
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables', null);
Bereitstellen der Klassifizierung der Tabellen im Schema unter Angabe der Anzahl der Zeilen in der Stichprobe:
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'sample_count': 1000});
Bereitstellen der Klassifizierung der Tabellen im Schema und Setzen der System-Tags auf die Spalten:
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'auto_tag': true});
Bereitstellen der Klassifizierung der Tabellen im Schema unter Angabe der Anzahl der Zeilen in der Stichprobe und Setzen des empfohlenen System-Tags auf jede Spalte der Tabelle:
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});