Objekte zur automatischen Ausführung

Bevor Sie fortfahren, vergewissern Sie sich, dass Sie verstehen, welche Objekte für die cloudübergreifende automatische Ausführung (automatische Ausführung) unterstützt werden, wie Objekte von Kontorollen abhängen können, welche internen Objekte Snowflake für die automatische Ausführung erstellt und was genau durch die automatische Ausführung auf Objektebene ausgeführt wird.

Von der automatischen Auftragsausführung unterstützte Objekte

Die Datenbankobjekte, die in Ihrem Angebot enthalten sind oder von diesem referenziert werden, dürfen nur Objekte enthalten, die für automatische Ausführung unterstützt werden.

Abhängig von Ihrem Datenprodukt werden unterschiedliche Objekte unterstützt:

Objekt

Freigabe (Datenbank)

Anwendungspaket

Tabelle

Ansicht (regulär, auch bekannt als nicht sicher)

Ansicht (materialisiert)

Ansicht (Sicher)

Sichere Ansicht, die mithilfe der Berechtigung REFERENCE_USAGE auf Daten verweist, die in anderen Datenbanken gespeichert sind.

Dynamische Tabelle

✔ (nur vom Anwendungspaket)

Iceberg-Tabellen

Datenbankrollen

SQL UDF/UDTF (Regulär, auch als nicht sicher bekannt)

✔ (bei Aufruf aus freigegebenen Ansichten in referenzierten Datenbanken)

SQLUDF/UDTF (Sicher)

✔ (bei Aufruf aus freigegebenen Ansichten in referenzierten Datenbanken)

Gespeicherte Prozedur (wird von der Freigabe nicht verwendet)

Maskierungs- und Zeilenzugriffsrichtlinien

Tags

Aufgaben (nicht beim Freigeben verwendet)

Alerts (nicht beim Freigeben verwendet)

Geheimnisse (nicht beim Freigeben verwendet)

Wenn ein Objekt in dieser Liste als Teil einer Replikations- oder Failover-Gruppe gekennzeichnet ist, wird es nicht für die automatische Ausführung unterstützt. Weitere Informationen dazu finden Sie unter Einführung in Replikation und Failover über mehrere Konten. Wenn eine primäre Datenbank eine Hybridtabelle enthält, schlägt die Aktualisierungsoperation fehl. Einzelheiten finden Sie im Snowflake Community Forum.

Wenn Ihr Datenprodukt andere Objekte als die aufgelisteten unterstützten Objekte enthält oder referenziert, müssen Sie Ihr Datenprodukt aktualisieren.

Automatische Auftragsausführung für Objekte, die von Kontorollen abhängen

Bei der automatischen Auftragsausführung werden keine Kontorollen repliziert. Stattdessen sind die Objekte in SSAs Eigentum der Rolle ACCOUNTADMIN.

Wenn Ihre Freigabe oder Ihr Anwendungspaket Objekte enthält, die von einer Kontorolle abhängen, funktioniert das Objekt bei der Freigabe für Verbraucher möglicherweise anders als erwartet. Beispiel:

  • Wenn Sie eine sichere Ansicht freigeben, die Daten enthält, die durch eine Richtlinie mit der Kontextfunktion INVOKER_ROLE geschützt sind, wird die Richtlinie möglicherweise zu einem anderen Wert als in der Region des Anbieterkontos ausgewertet, da die Rolle des Eigentümers der Ansicht eine andere ist.

  • Wenn Sie eine sichere Ansicht freigeben, bei der die Objekte, auf die die Ansicht verweist, auf eine Kontorolle beschränkt sind, z. B. eine Tabelle, bei der nur die Rolle SECURITYADMIN über SELECT-Berechtigungen verfügt, kann es vorkommen, dass die Ansicht nicht erweitert wird, wenn sie von einem Benutzer ohne SECURITYADMIN-Rolle im Anbieterkonto abgefragt wird, aber Ergebnisse liefert, wenn sie von einem Benutzer ohne SECURITYADMIN-Rolle im Verbraucherkonto abgefragt wird.

Verwenden Sie Datenbankrollen anstelle von Kontorollen. Weitere Informationen dazu finden Sie unter Freigeben von Daten, die durch eine Richtlinie geschützt sind und IS_DATABASE_ROLE_IN_SESSION.

Interne Snowflake-Objekte, die für die automatische Auftragsausführung erstellt wurden

Snowflake erstellt die folgenden internen Objekte, um die Verwendung von Arbeitsblättern über die Cloud-übergreifende automatische Ausführung zu unterstützen:

Objekttyp

Name

Rollen

SNOWFLAKE$GDS_RL

AUTO_FULFILLMENT_EXECUTOR

Datenbank

SNOWFLAKE$GDS

Replikationsgruppen

Mit Präfix SNOWFLAKE$GDS

Diese internen Objekte werden verwendet, um Aufgaben für die automatische Auftragsausführung auszuführen, z. B. um einen sicheren Freigabebereich in einer anderen Region zu erstellen und eine Datenbank zum Speichern von Objekten zu erstellen, die für die automatische Auftragsausführung verwendet werden, z. B. Bereitstellungsaufgaben.

Diese internen Objekte erscheinen, wenn Sie SHOW DATABASES, SHOW ROLES oder SHOW REPLICATION GROUPS jeweils ausführen. Ändern Sie diese Objekte nicht, und weisen Sie sie nicht anderen Benutzern oder Rollen zu.

Automatische Ausführung auf Objektebene

Wenn Sie die automatische Ausführung auf Objektebene konfigurieren, wird SUBDB für unterstützte Objekte verwendet. Objekte, die von diesen Objekten referenziert werden, müssen ebenfalls unterstützt werden. Eine Liste der unterstützten Objekte finden Sie unter dem Thema Von der automatischen Auftragsausführung unterstützte Objekte auf dieser Seite.

Diagramm, das die automatische Ausführung eines Freigabeangebots in weiteren Regionen und Clouds zeigt.
  1. Der erste Verbraucher in einer Region erhält das Freigabeangebot.

  2. Durch die automatische Ausführung werden die Objekte in der Freigabe in den sicheren Freigabebereich übertragen.

  3. Jeder Verbraucher, der das Angebot erhält, bekommt das Datenprodukt aus dem sicheren Freigabebereich in seiner Snowflake-Region.

Was wird durch die automatische Ausführung auf Objektebene ausgeführt

Wenn Sie die automatische Ausführung auf SUBDB (Objektebene) für Ihr Datenprodukt verwenden, werden nur die Objekte automatisch ausgeführt, die der Freigabe oder App direkt gewährt werden oder auf die ein Objekt in Ihrer Freigabe oder App verweist.

Beispiel:

Objekt im Datenprodukt

Was wird übertragen

Tabelle in einer Datenbank und einem Schema

Tabelle

Sichere Ansicht, die aus einer Tabelle in derselben Datenbank erstellt wurde

Sichere Ansicht und Tabelle

Tabelle in einer Datenbank mit automatischer FULL_DATABASE-Ausführung

Gesamte Datenbank

Tabelle in einer Datenbank mit automatischer SUBDB-Ausführung

Tabelle