CREATE CATALOG INTEGRATION (AWS Glue)¶
Erstellt eine neue Katalogintegration im Konto oder ersetzt eine bestehende Katalogintegration für Apache Iceberg™-Tabellen, die AWS Glue als Katalog verwendet.
Wichtig
Für die Integration mit AWS Glue empfehlen wir Ihnen, stattdessen eine Katalogintegration für den AWS Glue Iceberg-REST-Endpunkt zu erstellen, der zusätzliche Features der Iceberg-Tabelle unterstützt, wie z. B. katalogisierte Anmeldeinformationen.
Anweisungen dazu finden Sie unter CREATE CATALOG INTEGRATION (Apache Iceberg™ REST).
Bemerkung
Wenn Sie eine Katalogintegration für AWS Glue erstellen, müssen Sie zusätzliche Schritte ausführen, um eine Vertrauensstellung zwischen Snowflake und dem Glue Data Catalog einzurichten. Weitere Informationen dazu finden Sie unter Katalogintegration für AWS Glue konfigurieren.
- Siehe auch:
ALTER CATALOG INTEGRATION , DROP CATALOG INTEGRATION , SHOW CATALOG INTEGRATIONS, DESCRIBE CATALOG INTEGRATION
Syntax¶
CREATE [ OR REPLACE ] CATALOG INTEGRATION [IF NOT EXISTS]
<name>
CATALOG_SOURCE = GLUE
TABLE_FORMAT = ICEBERG
GLUE_AWS_ROLE_ARN = '<arn-for-AWS-role-to-assume>'
GLUE_CATALOG_ID = '<glue-catalog-id>'
[ GLUE_REGION = '<AWS-region-of-the-glue-catalog>' ]
[ CATALOG_NAMESPACE = '<catalog-namespace>' ]
ENABLED = { TRUE | FALSE }
[ REFRESH_INTERVAL_SECONDS = <value> ]
[ COMMENT = '<string_literal>' ]
Erforderliche Parameter¶
name
Zeichenfolge, die den Bezeichner (den Namen) für die Katalogintegration angibt. Muss in Ihrem Konto eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelten Anführungszeichen eingeschlossen sind, wird ebenfalls zwischen Groß- und Kleinschreibung unterschieden.Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.
CATALOG_SOURCE = GLUE
Gibt an, dass es sich um eine Integration für AWS Glue handelt.
TABLE_FORMAT = ICEBERG
Gibt Glue Iceberg-Tabellen an.
GLUE_AWS_ROLE_ARN = 'arn-for-AWS-role-to-assume'
Gibt den Amazon Resource Name (ARN) der AWS-Rolle für Identitäts- und Zugriffsverwaltung (IAM) an, die übernommen werden soll.
GLUE_CATALOG_ID = 'glue-catalog-id'
Gibt die ID Ihres AWS-Kontos an.
ENABLED = { TRUE | FALSE }
Gibt an, ob die Katalogintegration für Iceberg-Tabellen verwendet werden kann.
TRUE
ermöglicht Benutzern das Erstellen neuer Iceberg-Tabellen, die auf diese Integration verweisen. Vorhandene Iceberg-Tabellen, die auf diese Integration verweisen, funktionieren normal.FALSE
verhindert, dass Benutzer neue Iceberg-Tabelle erstellen, die auf diese Integration verweisen. Bestehende Iceberg-Tabellen, die auf diese Integration verweisen, können nicht auf den Katalog in der Tabellendefinition zugreifen.
Optionale Parameter¶
[ GLUE_REGION = 'AWS-region-of-the-glue-catalog' ]
Gibt die AWS-Region Ihres AWS Glue-Datenkatalogs an. Sie müssen einen Wert für diesen Parameter angeben, wenn Ihr Snowflake-Konto nicht auf AWS gehostet wird. Andernfalls ist die Standardregion die Snowflake-Bereitstellungsregion für das Konto.
CATALOG_NAMESPACE = 'catalog-namespace'
Gibt den Namespaces Ihres AWS Glue-Datenkatalogs an (zum Beispiel
my_glue_database
). Dies ist der Standard-Namespace für alle Iceberg-Tabellen, die Sie mit dieser Katalogintegration verknüpfen.Falls angegeben, können Sie diesen Wert außer Kraft setzen, indem Sie den Namespace auf Tabellenebene angeben, wenn Sie eine Tabelle erstellen.
Falls nicht angegeben, müssen Sie den Namespace auf Tabellenebene angeben, wenn Sie eine Tabelle erstellen.
REFRESH_INTERVAL_SECONDS = value
Legt die Anzahl der Sekunden fest, die Snowflake zwischen den Versuchen wartet, den externen Iceberg-Katalog nach Aktualisierungen der Metadaten für die automatische Aktualisierung abzufragen.
Gibt für Delta-basierte Tabellen die Anzahl der Sekunden an, die Snowflake zwischen den Versuchen wartet, Ihren externen Cloud-Speicher nach neuen Metadaten abzufragen.
Werte: 30 bis einschließlich 86.400
Standard: 30 Sekunden.
COMMENT = 'string_literal'
Zeichenfolge (Literal), die einen Kommentar zur Integration enthält.
Standard: Kein Wert
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
CREATE INTEGRATION |
Konto |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
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¶
Sie können eine bestehende Katalogintegration nicht ändern. Verwenden Sie stattdessen eine CREATE OR REPLACE CATALOG INTEGRATION-Anweisung.
Sie können eine Katalogintegration nicht löschen oder ersetzen, wenn eine oder mehrere Apache Iceberg™-Tabellen mit der Katalogintegration verbunden sind.
Um die Tabellen anzuzeigen, die von einer Katalogintegration abhängen, können Sie den Befehl SHOW ICEBERG TABLES und eine Abfrage mit RESULT_SCAN verwenden, die nach der Spalte
catalog_name
filtert.Bemerkung
Beim Spaltenbezeichner (
catalog_name
) wird zwischen Groß- und Kleinschreibung unterschieden. Geben Sie den Spaltenbezeichner genau so an, wie er in der Ausgabe von SHOW ICEBERG TABLES erscheint.Beispiel:
SHOW ICEBERG TABLES; SELECT * FROM TABLE( RESULT_SCAN( LAST_QUERY_ID() ) ) WHERE "catalog_name" = 'my_catalog_integration_1';
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „User“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
Die
OR REPLACE
- undIF NOT EXISTS
-Klauseln schließen sich gegenseitig aus. Sie können nicht beide in derselben Anweisung verwendet werden.CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Beispiele¶
Im folgenden Beispiel wird eine Katalogintegration erstellt, die eine AWS Glue-Katalogquelle verwendet. Wenn Sie eine Katalogintegration für Glue erstellen, müssen Sie zusätzliche Schritte ausführen, um eine Vertrauensstellung zwischen Snowflake und dem Glue Data Catalog einzurichten. Weitere Informationen dazu finden Sie unter Katalogintegration für AWS Glue konfigurieren.
CREATE CATALOG INTEGRATION glueCatalogInt CATALOG_SOURCE = GLUE CATALOG_NAMESPACE = 'myNamespace' TABLE_FORMAT = ICEBERG GLUE_AWS_ROLE_ARN = 'arn:aws:iam::123456789012:role/myGlueRole' GLUE_CATALOG_ID = '123456789012' GLUE_REGION = 'us-east-2' ENABLED = TRUE;