SHOW CHANNELS

Listet die Snowpipe Streaming-Kanäle auf, für die Sie Zugriffsrechte haben. Mit diesem Befehl können Sie die Kanäle einer angegebenen Tabelle, einer angegeben Datenbank oder eines angegebenen Schemas (oder der aktuellen Datenbank/des aktuellen Schemas der Sitzung) oder aber für Ihr gesamtes Konto auflisten.

Siehe auch:

Syntax

SHOW CHANNELS [ LIKE '<pattern>' ]
           [ IN
                {
                  ACCOUNT                  |

                  DATABASE                 |
                  DATABASE <database_name> |

                  SCHEMA                   |
                  SCHEMA <schema_name>     |
                  <schema_name>            |

                  TABLE                    |
                  TABLE <table_name>       |

                  PIPE                     |
                  PIPE <pipe_name>
                }
           ]
Copy

Parameter

LIKE 'pattern'

Filtert optional die Befehlsausgabe nach dem Objektnamen. Der Filter verwendet einen Musterabgleich ohne Berücksichtigung der Groß-/Kleinschreibung, aber mit Unterstützung von SQL-Platzhalterzeichen (% und _).

Die folgenden Muster geben beispielsweise die gleichen Ergebnisse zurück:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. Standard: Kein Wert (die Ausgabe wird nicht gefiltert).

[ IN ... ]

Gibt optional den Geltungsbereich des Befehls an. Geben Sie eine der folgenden Optionen an:

ACCOUNT

Gibt Datensätze für das gesamte Konto zurück.

DATABASE, . DATABASE db_name

Gibt Datensätze für die aktuell verwendete Datenbank oder eine angegebene Datenbank (db_name) zurück.

Wenn Sie DATABASE ohne db_name angeben und aktuell keine Datenbank in Verwendung ist, hat das Schlüsselwort keine Auswirkungen auf die Ausgabe.

Bemerkung

Die Verwendung von SHOW-Befehlen ohne eine IN-Klausel in einem Datenbankkontext kann zu weniger Ergebnissen als erwartet führen.

Objekte mit demselben Namen werden nur einmal angezeigt, wenn keine IN-Klausel verwendet wird. Wenn Sie z. B. die Tabelle t1 in schema1 und die Tabelle t1 in schema2 haben und beide im Geltungsbereich des von Ihnen angegebenen Datenbankkontextes liegen (d. h. die von Ihnen ausgewählte Datenbank ist die übergeordnete Datenbank von schema1 und schema2), dann zeigt SHOW TABLES nur eine der t1-Tabellen an.

SCHEMA, . SCHEMA schema_name

Gibt Datensätze für das aktuell verwendete Schema oder ein angegebenes Schema (schema_name) zurück.

SCHEMA ist optional, wenn aktuell eine Datenbank in Verwendung ist oder wenn Sie für schema_name den vollqualifizierten Schemanamen (z. B. db.schema) angeben.

Wenn aktuell keine Datenbank in Verwendung ist, hat die Angabe von SCHEMA keine Auswirkungen auf die Ausgabe.

TABLE, . TABLE table_name

Gibt Datensätze für die Tabelle zurück.

Wenn Sie IN ... weglassen, hängt der Geltungsbereich des Befehls davon ab, ob für die Sitzung aktuell eine Datenbank in Verwendung ist:

  • If a database is currently in use, the command returns the objects you have privileges to view in the database. This has the same effect as specifying IN DATABASE.

  • If no database is currently in use, the command returns the objects you have privileges to view in your account. This has the same effect as specifying IN ACCOUNT.

Nutzungshinweise

  • Für die Ausführung des Befehls ist kein aktives Warehouse erforderlich.

  • Der Befehl gibt nur Objekte zurück, für die der aktuellen Rolle des aktuellen Benutzers mindestens ein Zugriffsrecht zugewiesen wurde.

  • Das Zugriffsrecht MANAGE GRANTS gibt seinem Eigentümer implizit die Möglichkeit, jedes Objekt im Konto anzuzeigen. Standardmäßig haben nur der Kontoadministrator (Benutzer mit der Rolle ACCOUNTADMIN) und der Systemadministrator (Benutzer mit der Rolle SECURITYADMIN) die Berechtigung MANAGE GRANTS.

  • Um die Ausgabe dieses Befehls nachzubearbeiten, können Sie den Befehl Pipe-Operator (->>) oder die RESULT_SCAN-Funktion verwenden. Beide Konstrukte behandeln die Ausgabe als Resultset, das Sie abfragen können.

    Sie können zum Beispiel den Pipe-Operator oder die RESULT_SCAN-Funktion verwenden, um bestimmte Spalten aus der SHOW-Befehlsausgabe auszuwählen oder die Zeilen zu filtern.

    Wenn Sie sich auf die Ausgabespalten beziehen, verwenden Sie Bezeichner mit doppelten Anführungszeichen für die Spaltennamen. Um beispielsweise die Ausgabespalte type auszuwählen, geben Sie SELECT "type" an.

    Sie müssen Bezeichner in doppelten Anführungszeichen verwenden, da die Ausgabespaltennamen für SHOW-Befehle in Kleinbuchstaben geschrieben sind. Die doppelten Anführungszeichen stellen sicher, dass die Spaltennamen in der SELECT-Liste oder WHERE-Klausel den Spaltennamen in der SHOW-Befehlsausgabe entsprechen, die gescannt wurde.

Ausgabe

Die Befehlsausgabe stellt Eigenschaften und Metadaten der Pipe in den folgenden Spalten bereit:

Spalte

Beschreibung

created_on

Datum und Uhrzeit der Erstellung des Kanals.

name

Name des Kanals.

database_name

Der Name der Datenbank, in der der Snowpipe Streaming-Kanal logisch gespeichert wird.

Benannter Kanal: Der Name der Datenbank, in der der benutzerdefinierte Kanal erstellt wird.

Standard-Pipe (High-Performance): Der Name der Datenbank der Zieltabelle.

schema_name

Der Name des Schemas, in dem der Snowpipe Streaming-Kanal logisch gespeichert wird.

Named channel: The name of the schema where the user-defined channel is created.

Standard-Pipe (High-Performance): Der Name des Schemas der Zieltabelle.

table_name

Der Name der Snowflake-Tabelle, der der Kanal für die Datenaufnahme zugeordnet ist.

Für klassische Snowpipe Streaming-Kanäle: Die Spalte zeigt den Namen der Zieltabelle an, die die Zuordnung des Kanals festlegt.

Für Standard-Pipes (High-Performance): Die Spalte wird mit dem Namen der Zieltabelle aufgefüllt und liefert so den Kontext für das Ziel der Standard-Pipe.

client_sequenzer

Nur für den internen Gebrauch.

row_sequencer

Nur für den internen Gebrauch.

offset_token

String used to track the ingestion process.

parent_name

Table or pipe where the channel is mapped to.

parent_domain

Domain (table or pipe) where the channel is mapped to.

Beispiele

Zeigen Sie alle Kanäle an, für die Sie über Berechtigungen zum Anzeigen im Schema public in der Datenbank mydb verfügen:

use database mydb;

show channels;

+-------------------------------+-----------+---------------+------------------+------------------------+------------------+---------------+--------------+
| created_on                    | name      | database_name | schema_name      | table_name             | client_sequencer | row_sequencer | offset_token |
|-------------------------------+-----------+---------------+------------------+------------------------+------------------+---------------+--------------+
| 2023-05-05 17:13:17.579 -0700 | CHANNEL8  | TEST_DB1      | STREAMING_INGEST | STREAMING_INGEST_TABLE | 7                | 1             | 0            |
|                               |           |               |                  |                        |                  |               |              |
+-------------------------------+-----------+---------------+------------------+------------------------+------------------+---------------+--------------+
Copy

Anzeigen aller Kanäle einer bestimmten Pipe:

show channels in pipe MY_PIPE;
Copy