Snowflake-verwaltete Abfragen Apache Iceberg™ -Tabellen durch Verwendung von Microsoft Fabric¶
Um von Snowflake verwaltete Iceberg-Tabellen in Microsoft Fabric anzuzeigen, können Sie eine Standard-Snowflake-Datenbank mit Fabric verbinden.
Unter diesem Thema finden Sie die Schritte, mit denen Sie eine Standard-Snowflake-Datenbank mit Fabric verbinden können, wodurch die Datenbank mit Fabric synchronisiert wird. Wenn Sie eine Datenbank verbinden, können Sie entweder eine bestehende Datenbank auswählen oder eine neue Datenbank erstellen. Sie können dann alle von Snowflake verwalteten Iceberg-Tabellen in der Datenbank in Fabric anzeigen.
Weitere Informationen zu Microsoft OneLake Fabric finden Sie unter OneLake in Microsoft Fabric in der Microsoft Fabric-Dokumentation.
Voraussetzungen¶
Bevor Sie beginnen, müssen Sie die folgenden Voraussetzungen für Microsoft Fabric und Snowflake erfüllen.
Microsoft Fabric
Erstellen Sie ein Microsoft Fabric-Konto. Weitere Informationen dazu finden Sie unter Erste Schritte mit Microsoft Fabric.
Erstellen Sie einen Arbeitsbereich in Ihrem Fabric-Konto. Eine Anweisung dazu finden Sie unter Einen Arbeitsbereich erstellen in der Microsoft Fabric -Dokumentation. Sie verwenden diesen Arbeitsbereich, um von Snowflake verwaltete Iceberg-Tabellen abzufragen.
Bemerkung
Wir empfehlen, dass Sie Ihren Fabric-Arbeitsbereich nur mit alphanumerischen Zeichen benennen. Wenn der Name Ihres Fabric-Arbeitsbereichs Sonderzeichen oder nicht-alphanumerische Zeichen wie Leerzeichen enthält, müssen Sie die ID des Arbeitsbereichs kopieren, wenn Sie diese ID später angeben möchten. Zur Suche Ihrer Arbeitsbereichs-ID öffnen Sie Ihren Arbeitsbereich in der Fabric-UI und beziehen sich dann auf die URL in Ihrem Browser.
Sie müssen ein Administrator des Fabric-Arbeitsbereichs sein.
Ihr Fabric-Mandantenadministrator muss die Enable Snowflake database item (Preview)-Mandanteneinstellung aktivieren oder diese Entscheidung an Ihren Fabric-Kapazitätsadministrator delegieren. Sie können diese Einstellung im Admin-Portal der Fabric-Web-UI aktivieren. Wie Sie zum Admin-Portal gelangen, erfahren Sie unter So gelangen Sie zum Admin-Portal in der Microsoft Fabric-Dokumentation. Sie können diese Einstellung auf Mandantenebene aktivieren, sie an Fabric-Kapazitätsadministratoren delegieren oder nur für bestimmte Sicherheitsgruppen aktivieren lassen.
Snowflake
Sie benötigen Zugriff auf die ACCOUNTADMIN-Rolle oder eine andere Rolle in Snowflake mit der CREATE USER-Berechtigung für das Konto.
Sie benötigen Zugriff auf die ACCOUNTADMIN-Rolle oder eine andere Rolle in Snowflake mit Berechtigung zum Erstellen eines externen Volume.
Sie müssen in Snowflake über eine Standarddatenbank verfügen. Eine Anweisung dazu finden Sie unter CREATE DATABASE. Diese Anleitung bezieht sich auf eine Beispiel-Standarddatenbank namens
SnowflakeFabricIcebergDB.Bemerkung
Um die Schritte unter diesem Thema ausführen zu können, sollten Sie über eine vorhandene Standarddatenbank verfügen. Das Thema enthält Schritte, mit denen Sie Berechtigungen für diese Datenbank erteilen können. Sie haben jedoch die Möglichkeit, eine Datenbank zu erstellen, wenn Sie eine Snowflake-Datenbank mit Fabric verbinden. Wenn Sie eine neue Datenbank erstellen möchten, während Sie eine Datenbank mit Fabric verbinden, müssen Sie der Datenbank in Snowflake die erforderlichen Berechtigungen erteilen.
Schritt 1: Suchen Sie Ihre Microsoft Fabric-Mandanten-ID, den Snowflake-Organisationsnamen und den Snowflake-Kontonamen¶
Um von Snowflake aus eine Verbindung zu Microsoft Fabric herzustellen, benötigen Sie die Microsoft Fabric-Mandanten-ID. Um von Snowflake aus eine Verbindung mit Microsoft OneLake herzustellen, benötigen Sie den Namen Ihrer Snowflake-Organisation und den Namen Ihres Snowflake-Kontos.
Zum Suchen der Microsoft Fabric-Mandanten-ID führen Sie die folgenden Schritte aus:
Navigieren Sie zu Microsoft Fabric und melden Sie sich an.
Wählen Sie ? aus.
Wählen Sie im Bereich Help die Option About Fabric.
Im Fenster Fabric finden Sie den Wert für Tenant URL. Kopieren Sie den Teil von URL nach
ctidin einen Texteditor.Beispiel:
a111a1a1-1111-111a-a11a-1a11a11111a1
Informationen dazu, wie Sie den Namen Ihrer Snowflake-Organisation (
<orgname>), and Snowflake account name (<accountname>) finden, erhalten Sie unter Suchen von Organisations- und Kontonamen eines Kontos.
Schritt 2: Erstellen Sie in Snowflake eine Rolle¶
In diesem Schritt erstellen Sie eine Rolle in Snowflake und erteilen dieser dann die erforderlichen Berechtigungen, um Ihre Standarddatenbank zu verwenden und eine SELECT-Anweisung für Tabellen in der Datenbank auszuführen. Später weisen Sie diese Rolle einem Benutzer zu.
Führen Sie die folgenden Schritte mit der ACCOUNTADMIN-Rolle aus:
Melden Sie sich bei Snowsight an.
Erstellen Sie ein Arbeitsblatt in Snowsight. Weitere Informationen dazu finden Sie unter Arbeitsblätter in Snowsight erstellen.
Verwenden Sie den Befehl CREATE ROLE, um eine Rolle zu erstellen.
USE ROLE ACCOUNTADMIN; CREATE ROLE IF NOT EXISTS R_ICEBERG_METADATA;
Um die Berechtigungen für die Iceberg-Metadatenrolle einer Standarddatenbank zu erteilen, folgen Sie diesem Beispiel, das sie einer
SnowflakeFabricIcebergDB-Datenbank gewährt:BEGIN LET db STRING := 'SnowflakeFabricIcebergDB'; EXECUTE IMMEDIATE 'GRANT USAGE ON DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA'; EXECUTE IMMEDIATE 'GRANT USAGE ON ALL SCHEMAS IN DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA'; EXECUTE IMMEDIATE 'GRANT USAGE ON FUTURE SCHEMAS IN DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA'; EXECUTE IMMEDIATE 'GRANT SELECT ON ALL ICEBERG TABLES IN DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA'; EXECUTE IMMEDIATE 'GRANT SELECT ON FUTURE ICEBERG TABLES IN DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA'; END;
Um der Rolle die Berechtigungen zum Ausführen von Abfragen auf einem vorhandenen Warehouse zu erteilen, folgen Sie diesem Beispiel, das der Rolle Berechtigungen zum Ausführen von Abfragen auf einem
COMPUTE_WHWarehouse erteilt:GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE R_ICEBERG_METADATA;
Schritt 3: Erstellen Sie einen Benutzer in Snowflake¶
In diesem Schritt erstellen Sie einen Benutzer in Snowflake und weisen dann dem Benutzer die zuvor erstellte Rolle zu. Diese Berechtigung erlaubt es dem Benutzer, die Standarddatenbank zu verwenden. Später geben Sie die Anmeldeinformationen dieses Benutzers an, wenn Sie eine Snowflake-Verbindung in Microsoft Fabric erstellen.
Wenn Sie zuvor einen Benutzer in Snowflake erstellt haben, können Sie diesen Schritt überspringen.
Um einen Benutzer mit der von Ihnen erstellten Rolle als Standardrolle zu erstellen, verwenden Sie den Befehl CREATE USER:
USE ROLE ACCOUNTADMIN; CREATE USER IF NOT EXISTS SVC_FABRIC_ICEBERG_METADATA TYPE = LEGACY_SERVICE LOGIN_NAME = 'SVC_FABRIC_ICEBERG_METADATA' DISPLAY_NAME = 'Service - Fabric Iceberg Metadata' PASSWORD = '<strong_password>' MUST_CHANGE_PASSWORD = FALSE DEFAULT_ROLE = R_ICEBERG_METADATA;
Weisen Sie dem Benutzer die von Ihnen erstellte Rolle zu:
GRANT ROLE R_ICEBERG_METADATA TO USER SVC_FABRIC_ICEBERG_METADATA;
Schritt 4: Erstellen Sie eine Snowflake-Verbindung in Microsoft Fabric¶
In diesem Schritt erstellen Sie eine Snowflake-Verbindung in Microsoft Fabric, über die Sie Ihre Standarddatenbank in Snowflake mit Microsoft Fabric verbinden können.
Wichtig
Wenn Sie bereits eine bestehende Snowflake-Verbindung in Microsoft Fabric konfiguriert haben, die die folgenden Bedingungen erfüllt, können Sie diesen Schritt überspringen:
Es werden der korrekte Snowflake-Benutzername und das korrekte Kennwort als Anmeldeinformationen verwendet.
Es besteht Zugriff auf das gewünschte Warehouse in Snowflake.
Navigieren Sie zu `Microsoft Fabric <https://app.fabric.microsoft.com/>`_und melden Sie sich dann an.
Wählen Sie das Symbol Settings aus.
Wählen Sie in Settings die Option Manage connections and gateways aus.
Wählen Sie + New aus.
Im Dialogfeld New connection erstellen Sie eine Snowflake-Verbindung:
Wählen Sie Cloud aus.
Geben Sie unter Connection name einen Verbindungsnamen ein.
Wählen Sie unter Connection type die Option Snowflake aus.
Geben Sie unter Server den Bezeichner Ihres Snowflake-Kontos ein:
https://<orgname>-<accountname>.snowflakecomputing.com
Wobei:
<orgname>is the name of your Snowflake organization and<accountname>ist der Name Ihres Snowflake-Kontos. Informationen zum Suchen dieser Namen finden Sie unter Schritt 1: Suchen Sie Ihre Microsoft Fabric-Mandanten-ID, den Snowflake-Organisationsnamen und den Snowflake-Kontonamen.
Geben Sie unter Warehouse den Namen des Warehouse in Snowflake ein, für das Sie die R_ICEBERG_METADATA-Rollennutzungszugriff gewährt haben, z. B.
COMPUTE_WH, wenn Sie eine Rolle erstellt haben.Wählen Sie unter Authentication method die Option Snowflake aus.
Geben Sie unter Username den Namen des Benutzers ein, den Sie in Snowflake erstellt haben.
Geben Sie unter Password das Kennwort des Benutzers ein, den Sie in Snowflake erstellt haben.
Wählen Sie Create aus.
Bemerkung
Weitere Informationen zum Erstellen einer Snowflake-Verbindung in Microsoft Fabric finden Sie unter Richten Sie Ihre Snowflake-Datenbankverbindung ein in der Microsoft Fabric-Dokumentation.
Nachdem Ihre Verbindung hergestellt wurde, kopieren Sie die Connection ID für Ihre Verbindung in einen Texteditor.
Beispiel:
1111a111-11a1-1111-11a1-11aa1111aaa1. Sie müssen diese Verbindungs-ID später in Snowflake angeben, wenn Sie Ihre Snowflake-Standarddatenbank mit Microsoft Fabric verbinden.
Schritt 5: Rufen Sie den Namen Ihrer Azure-Anwendung für mehrere Mandanten ab¶
In diesem Schritt rufen Sie über Snowflake den Namen Ihrer Azure-Anwendung mit mehreren Mandanten ab. Sie geben diesen Anwendungsnamen später an, wenn Sie Ihrer Azure-Anwendung mit mehreren Mandanten Zugriff auf Ihren Fabric-Arbeitsbereich gewähren.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option Ingestion » Add Data aus.
Wählen Sie auf der Seite Add Data die Option Microsoft OneLake aus.
Geben Sie Ihre Fabric-Mandanten-ID ein, und wählen Sie dann Continue aus.
Oben im Dialogfeld Create an item in Microsoft Fabric kopieren Sie Ihre Multi-tenant app name in einen Texteditor.
Schritt 6: Gewähren Sie Ihrer Azure-Anwendung mit mehreren Mandanten Zugriff auf Ihren Arbeitsbereich¶
In diesem Schritt gewähren Sie der Azure-Anwendung mit mehreren Mandanten Zugriff auf Ihren Arbeitsbereich in Fabric.
Navigieren Sie zu `Microsoft Fabric <https://app.fabric.microsoft.com/>`_und melden Sie sich dann an.
Öffnen Sie Ihren Microsoft Fabric-Arbeitsbereich.
Informationen zur Erstellung eines Arbeitsbereichs finden Sie unter Voraussetzungen.
Wählen Sie Manage access aus.
Wählen Sie + Add people or groups aus.
Im Feld Enter name or email fügen Sie den Namen Ihrer Azure-Anwendung für mehrere Mandanten aus Snowflake ein.
Informationen zum Abrufen des Namens der Azure-App mit mehreren Mandanten finden Sie unter Schritt 5: Rufen Sie den Namen Ihrer Azure-Anwendung für mehrere Mandanten ab.
Wählen Sie im Dropdown-Menü den Contributor-Zugriff oder höher aus, damit die App das erforderliche Fabric-Element erstellen kann.
Wählen Sie Add aus.
Wählen Sie im rechten oberen Bereich die Option Settings`und dann :ui:`Manage connections and gateways aus.
Suchen Sie im Bereich oben rechts nach Ihrer Verbindungs-ID.
Sie haben diese Verbindungs-ID bei der Erstellung einer Snowflake-Verbindung in Microsoft Fabric kopiert.
Bewegen Sie auf der Registerkarte Connections den Mauszeiger über Ihre Verbindung. Wählen Sie das …-Symbol für Ihre Verbindung und dann Manage users aus.
Suchen Sie im Feld Search by name or email nach dem Namen Ihrer Anwendung mit mehreren Mandanten, und wählen Sie die Anwendung aus.
Wählen Sie die entsprechende Berechtigungsstufe für den Benutzer aus.
Um der Anwendung für mehrere Mandanten die Verwendung der Snowflake-Verbindung zu ermöglichen, wählen Sie Share aus.
Schritt 7: Verbinden Sie Ihre Snowflake-Standarddatenbank mit Microsoft Fabric¶
In diesem Schritt verbinden Sie eine Standard-Snowflake-Datenbank mit Microsoft Fabric.
Melden Sie sich bei Snowsight an.
Wählen Sie im Navigationsmenü die Option Ingestion » Add Data aus.
Wählen Sie auf der Seite Add Data die Option Microsoft OneLake aus.
Geben Sie Ihre Fabric-Mandanten-ID ein und wählen Sie Continue aus.
Informationen zur Suche Ihrer Fabric-Mandanten-ID finden Sie unter Schritt 1: Suchen Sie Ihre Microsoft Fabric-Mandanten-ID, den Snowflake-Organisationsnamen und den Snowflake-Kontonamen.
Um die Zustimmung zur Verwendung der Mehr-Mandanten-Anwendung Ihres Snowflake-Kontos in Ihrem Entra-Mandanten zu erteilen, wählen Sie Provide consent aus.
Wenn Sie diesen Schritt noch nicht ausgeführt haben, sollte eine Aufforderung zur Zustimmung angezeigt werden. Überprüfen Sie die Berechtigungen, erteilen Sie Ihre Zustimmung, und fahren Sie dann mit dem nächsten Schritt fort.
Es ist möglich, dass dieser Schritt für Ihr Snowflake-Konto bereits abgeschlossen ist. Wenn ja, schließen Sie das angezeigte Popup-Fenster, und fahren Sie dann mit dem nächsten Schritt fort.
Wenn Sie den Zustimmungsablauf nicht abschließen können, bitten Sie Ihren Entra-Mandanten-Administrator, diesen Schritt für Sie auszuführen.
Wählen Sie Continue aus.
Füllen Sie im Dialogfeld Create an item in Microsoft Fabric die Felder aus:
Geben Sie unter Fabric workspace name den Namen des Arbeitsbereichs in Fabric ein, in dem Sie Ihre Iceberg-Tabellen anzeigen möchten.
Um zu überprüfen, ob Ihre Verbindungs-ID das richtige Format aufweist, geben Sie für Snowflake connection ID in Fabric Ihre Snowflake-Verbindungs-ID ein, die Sie beim bei der Erstellung einer Snowflake -Verbindung in Microsoft Fabric kopiert haben.
Bemerkung
Sie müssen ein Snowflake-Verbindungsobjekt in Fabric erstellen, bevor Sie Ihre von Snowflake verwalteten Tabellen lesen können.
Wählen Sie für Snowflake database die Snowflake-Datenbank aus, die die von Snowflake verwalteten Iceberg-Tabellen enthält, die Sie in Fabric anzeigen möchten.
Bemerkung
Wenn Sie eine neue Snowflake Datenbank erstellen und diese mit Fabric verbinden möchten, wählen Sie + Create a new database aus.
Um ein Fabric-Element und eine Datenbank zu erstellen, wählen Sie Continue aus.
Wenn Sie im Dialogfeld Create External Volume ein externes Volume erstellen möchten, überprüfen Sie die Volume-Details und wählen anschließend Create Volume aus.
Ein Fabric-Element wird in Microsoft Fabric erstellt. Ein externes Volume wird in Microsoft Fabric OneLake erstellt.
Schritt 8: Iceberg-Tabelle erstellen¶
In diesem Schritt erstellen Sie eine von Snowflake verwaltete Iceberg-Tabelle in Ihrer Standarddatenbank in Snowflake.
Melden Sie sich bei Snowsight an.
Öffnen Sie das Arbeitsblatt in Snowsight.
Weitere Informationen dazu finden Sie unter Öffnen von Arbeitsblättern auf Registerkarten.
Erstellen Sie in Ihrer Standarddatenbank eine Iceberg-Beispieltabelle:
CREATE ICEBERG TABLE SnowflakeFabricIcebergDB.PUBLIC.SampleIcebergTable ( id INT, name STRING ) CATALOG = 'SNOWFLAKE';
Fügen Sie in der Iceberg-Beispieltabelle zwei Zeilen ein:
INSERT INTO SnowflakeFabricIcebergDB.PUBLIC.SampleIcebergTable VALUES (1, 'Alice'), (2, 'Bob');
Schritt 9: Zeigen Sie die Iceberg-Tabelle in Fabric an¶
Navigieren Sie zu `Microsoft Fabric <https://app.fabric.microsoft.com/>`_und melden Sie sich dann an.
Öffnen Sie Ihren Arbeitsbereich.
Sie sollten ein neues Snowflake-Datenbankelement sehen, das nach Ihrer Datenbank benannt ist. Aktualisieren Sie bei Bedarf die Seite.
Öffnen Sie dort, wo Sie Ihre Tabelle in Snowflake erstellt haben, das Datenbankelement und das Schema.
Sie sollten die Iceberg-Tabelle sehen, die Sie in Snowflake erstellt haben. Wenn Sie die Tabelle in Snowflake aktualisieren, können Sie die Tabellenaktualisierungen in Microsoft Fabric übernehmen.
Wählen Sie in der rechten oberen Ecke die Option SQL analytics endpoint aus.
Sie können über SQL mit Ihrer Tabelle interagieren oder versuchen, mithilfe anderer Fabric-Workloads diese Tabelle zusammen mit Ihren anderen Fabric-Daten abzufragen.