SHOW EXTERNAL AGENTS

Listet die externen Tabellen auf, für die Sie Zugriffsrechte haben. Externe Agenten stehen für generative AI-Anwendungen in Snowflake zur Verwendung mit AI-Beobachtbarkeit.

Die Ausgabe gibt Objektmetadaten und -eigenschaften zurück, die nach Datenbank, Schema und externem Agentenname lexikographisch geordnet sind (Beschreibungen der Ausgabespalten finden Sie unter Ausgabe).

Siehe auch:

CREATE EXTERNAL AGENT, ALTER EXTERNAL AGENT, DROP EXTERNAL AGENT, DESCRIBE EXTERNAL AGENT

Syntax

SHOW EXTERNAL AGENTS [ LIKE '<pattern>' ]
                     [ IN { ACCOUNT | DATABASE [ <db_name> ] | SCHEMA [ <schema_name> ] } ]

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 ACCOUNT | DATABASE [ db_name ] | SCHEMA [ schema_name ]

Gibt optional den Geltungsbereich des Befehls an, der bestimmt, ob der Befehl externe Agenten nur für die aktuelle/angegebene Datenbank oder das aktuelle/angegebene Schema auflistet.

Wenn Sie das Schlüsselwort ACCOUNT angeben, ruft der Befehl Datensätze für alle Schemas in allen Datenbanken des aktuellen Kontos ab.

Wenn Sie das Schlüsselwort DATABASE angeben, dann gilt Folgendes:

  • Wenn Sie einen Wert für db_name angeben, ruft der Befehl Datensätze für alle Schemas der angegebenen Datenbank ab.

  • Wenn Sie keinen db_name angeben, dann:

    • Wenn es eine aktuelle Datenbank gibt, ruft der Befehl Datensätze für alle Schemas in der aktuellen Datenbank ab.

    • Wenn es keine aktuelle Datenbank gibt, ruft der Befehl Datensätze aller Datenbanken und Schemas im Konto ab.

Wenn Sie das Schlüsselwort SCHEMA angeben, dann gilt Folgendes:

  • Wenn Sie einen qualifizierten Schemanamen angeben (z. B. my_database.my_schema), ruft der Befehl Datensätze für die angegebene Datenbank und das angegebene Schema ab.

  • Wenn Sie einen nicht qualifizierten Wert für schema_name angeben, dann gilt Folgendes:

    • Wenn es eine aktuelle Datenbank gibt, ruft der Befehl Datensätze für das angegebene Schema in der aktuellen Datenbank ab.

    • Wenn keine aktuelle Datenbank vorhanden ist, zeigt der Befehl den Fehler SQL compilation error: Object does not exist, or operation cannot be performed an.

  • Wenn Sie keinen schema_name angeben, dann:

    • Wenn es eine aktuelle Datenbank gibt, dann gilt Folgendes:

      • Wenn es ein aktuelles Schema gibt, dann ruft der Befehl Datensätze für das aktuelle Schema in der aktuellen Datenbank ab.

      • Wenn kein aktuelles Schema vorhanden ist, ruft der Befehl Datensätze für alle Schemas in der aktuellen Datenbank ab.

    • Wenn es keine aktuelle Datenbank gibt, ruft der Befehl Datensätze für alle Datenbanken und alle Schemas im Konto ab.

Standard: Abhängig davon, ob für die Sitzung aktuell eine Datenbank verwendet wird:

  • Datenbank: DATABASE ist der Standardwert (d. h. der Befehl gibt die externen Agenten zurück, für die Sie Berechtigungen zum Anzeigen in der aktuellen Datenbank haben).

  • Keine Datenbank: Der Geltungsbereich des Kontos ist die Standardeinstellung (d. h. der Befehl gibt die externen Agenten zurück, für die Sie Berechtigungen zum Anzeigen in Ihrem Konto haben).

Ausgabe

Die Befehlsausgabe enthält Eigenschaften und Metadaten des externen Agenten in den folgenden Spalten:

Spalte

Beschreibung

created_on

Zeitstempel, wann der externe Agent erstellt wurde.

name

Name des externen Agenten.

database_name

Datenbank, die den externen Agenten enthält.

schema_name

Schema, das den externen Agenten enthält.

owner

Rolle, die Eigentümer des externen Agenten ist.

comment

Kommentar zum externen Agenten.

versions

JSON-Array mit den Versionen des externen Agenten.

default_version_name

Standardversion des externen Agenten.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens eine der folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

Eine dieser Berechtigungen: OWNERSHIP, USAGE

Externer Agent

Für das Ausführen von Operationen für ein Objekt in einem Schema ist mindestens eine Berechtigung für die übergeordnete Datenbank und mindestens eine Berechtigung für das übergeordnete Schema erforderlich.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

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.

Beispiele

Auflisten aller externen Agenten im aktuellen Schema:

SHOW EXTERNAL AGENTS;

Auflisten der externen Agenten in einem bestimmten Schema:

SHOW EXTERNAL AGENTS IN SCHEMA mydb.myschema;

Auflisten der externen Agenten in einer bestimmten Datenbank:

SHOW EXTERNAL AGENTS IN DATABASE mydb;

Auflisten aller externen Agenten im Konto:

SHOW EXTERNAL AGENTS IN ACCOUNT;

Auflisten der externen Agenten mit Namen, die mit einem Muster übereinstimmen:

SHOW EXTERNAL AGENTS LIKE 'my_rag%';