Interroger des tables Apache Iceberg™ gérées par Snowflake avec Microsoft Fabric¶
Pour voir les tables Iceberg gérées par Snowflake dans Microsoft Fabric, vous pouvez connecter une base de données Snowflake standard à Fabric.
Cette rubrique indique comment connecter une base de données Snowflake standard à Fabric, qui synchronise la base de données avec Fabric. Lorsque vous connectez une base de données, vous pouvez soit sélectionner une base de données existante, soit en créer une nouvelle. Vous pouvez ensuite voir toutes les tables Iceberg gérées par Snowflake dans la base de données dans Fabric.
Pour plus d’informations sur Microsoft OneLake Fabric, voir OneLake dans Microsoft Fabric dans la documentation de Microsoft Fabric.
Conditions préalables¶
Avant de commencer, appliquez les conditions préalables suivantes pour Microsoft Fabric et Snowflake.
Microsoft Fabric
Créez un compte Microsoft Fabric. Pour plus d’informations, voir Premiers pas avec Microsoft Fabric.
Créez un espace de travail dans votre compte Fabric. Pour obtenir des instructions, voir Création d’un espace de travail dans la documentation Microsoft Fabric. Cet espace de travail sert à interroger les tables Iceberg gérées par Snowflake.
Note
Nous vous conseillons de nommer votre espace de travail Fabric en utilisant uniquement des caractères alphanumériques. Si le nom de votre espace de travail Fabric contient des caractères spéciaux ou des caractères non alphanumériques tels que des espaces, vous devrez copier l’ID de l’espace de travail pour spécifier cet ID plus tard. Pour trouver votre espace de travail ID, ouvrez votre espace de travail dans l’UI de Fabric, puis reportez-vous à l’URL dans votre navigateur.
Vous devez être un administrateur de l’espace de travail Fabric.
Votre administrateur de client Fabric doit activer le paramètre Enable Snowflake database item (Preview) ou bien déléguez cette décision à votre administrateur de capacité Fabric. Vous pouvez activer ce paramètre dans le portail d’administration de l’UI web de Fabric. Pour accéder au portail administrateur, voir Comment accéder au portail de l’administrateur dans la documentation de Microsoft Fabric. Vous pouvez activer ce paramètre au niveau du client, confier cette tâche aux administrateurs de la capacité Fabric ou le faire activer uniquement pour certains groupes de sécurité.
Snowflake
Vous devez avoir accès au rôle ACCOUNTADMIN ou à un autre rôle dans Snowflake avec le privilège CREATE USER sur le compte.
Vous devez avoir accès au rôle ACCOUNTADMIN ou à un autre rôle dans Snowflake avec des privilèges pour créer un volume externe.
Vous devez disposer d’une base de données standard dans Snowflake. Pour obtenir des instructions, voir CREATE DATABASE. Ce guide fait référence à un exemple de base de données standard nommé
SnowflakeFabricIcebergDB.Note
Pour effectuer les étapes de cette rubrique, vous devez disposer d’une base de données standard existante. La rubrique vous indique la marche à suivre pour accorder des privilèges à cette base de données. Toutefois, vous avez la possibilité de créer une base de données lorsque vous connectez une base de données Snowflake à Fabric. Si vous choisissez de créer une nouvelle base de données lorsque vous connectez une base de données à Fabric, vous devrez alors accorder les privilèges nécessaires à la base de données dans Snowflake.
Étape 1 : Trouver votre ID de client Microsoft Fabric, le nom de votre organisation Snowflake et le nom de votre compte Snowflake¶
Pour vous connecter à Microsoft Fabric depuis Snowflake, vous avez besoin de votre ID de client Microsoft Fabric. Pour vous connecter à Microsoft OneLake depuis Snowflake, vous avez besoin du nom de votre organisation Snowflake et du nom de votre compte Snowflake.
Pour trouver votre ID de client Microsoft Fabric, procédez comme suit :
Accédez à Microsoft Fabric et connectez-vous.
Sélectionnez ?.
Dans le volet Help, sélectionnez About Fabric.
Dans la fenêtre Fabric, examinez la valeur de Tenant URL et copiez la partie de l’URL après
ctiddans un éditeur de texte.Par exemple :
a111a1a1-1111-111a-a11a-1a11a11111a1
Pour trouver le nom de votre organisation Snowflake (
<orgname>), and Snowflake account name (<accountname>), consultez Recherche de l’organisation et du nom de compte pour un compte.
Étape 2 : Créer un rôle dans Snowflake¶
Dans cette étape, vous créez un rôle dans Snowflake, puis vous lui accordez les privilèges nécessaires pour utiliser votre base de données standard et exécuter une instruction SELECT sur les tables de la base de données. Vous accorderez ultérieurement ce rôle à un utilisateur.
Effectuez les étapes suivantes avec le rôle ACCOUNTADMIN :
Connectez-vous à Snowsight.
Créez une feuille de calcul dans Snowsight. Pour plus d’informations, voir Créer des feuilles de calcul dans Snowsight.
Utilisez la commande CREATE ROLE pour créer un rôle :
USE ROLE ACCOUNTADMIN; CREATE ROLE IF NOT EXISTS R_ICEBERG_METADATA;
Pour accorder les privilèges de rôle de métadonnées Iceberg à une base de données standard, suivez cet exemple, qui les accorde à une base de données
SnowflakeFabricIcebergDB: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;
Pour accorder au rôle les autorisations d’exécution des requêtes sur un entrepôt existant, suivez cet exemple, qui accorde au rôle les autorisations d’exécution des requêtes sur un entrepôt existant
COMPUTE_WH:GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE R_ICEBERG_METADATA;
Étape 3 : Créer un utilisateur dans Snowflake¶
Dans cette étape, vous créez un utilisateur dans Snowflake, puis vous lui accordez le rôle que vous avez créé précédemment. Cet octroi permet à l’utilisateur d’utiliser la base de données standard. Vous spécifierez ultérieurement les identifiants de connexion de cet utilisateur lorsque vous créerez une connexion Snowflake dans Microsoft Fabric.
Si vous avez déjà créé un utilisateur dans Snowflake, vous pouvez ignorer cette étape.
Pour créer un utilisateur avec le rôle que vous avez créé par défaut, utilisez la commande 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;
Attribuez à l’utilisateur le rôle que vous avez créé :
GRANT ROLE R_ICEBERG_METADATA TO USER SVC_FABRIC_ICEBERG_METADATA;
Étape 4 : Créer une connexion Snowflake dans Microsoft Fabric¶
Dans cette étape, vous créez une connexion Snowflake dans Microsoft Fabric, ce qui vous permet de connecter votre base de données standard dans Snowflake à Microsoft Fabric.
Important
Si vous disposez déjà d’une connexion Snowflake existante configurée dans Microsoft Fabric qui remplit les conditions suivantes, vous pouvez ignorer cette étape :
Elle utilise les identifiants de connexion Snowflake, nom d’utilisateur et mot de passe, corrects.
Elle a accès à l’entrepôt requis dans Snowflake.
Accédez à Microsoft Fabric, puis connectez-vous.
Sélectionnez l’icône Settings.
Dans Settings, sélectionnez Manage connections and gateways.
Sélectionnez + New.
Dans la boîte de dialogue New connection, créez une connexion Snowflake :
Sélectionnez Cloud.
Pour Connection name, saisissez un nom de connexion.
Pour Connection type, sélectionnez Snowflake.
Pour Server, saisissez votre identificateur pour votre compte Snowflake :
https://<orgname>-<accountname>.snowflakecomputing.com
Où :
<orgname>is the name of your Snowflake organization and<accountname>est le nom de votre compte Snowflake. Pour trouver ces noms, voir Étape 1 : Trouver votre ID de client Microsoft Fabric, le nom de votre organisation Snowflake et le nom de votre compte Snowflake.
Pour Warehouse, saisissez le nom de l’entrepôt dans Snowflake auquel vous avez accordé l’utilisation du rôleR_ICEBERG_METADATA, par exemple
COMPUTE_WH, lorsque vous avez créé un rôle.Pour Authentication method, sélectionnez Snowflake.
Pour Username, saisissez le nom de l’utilisateur que vous avez créé dans Snowflake.
Pour Password, saisissez le mot de passe de l’utilisateur que vous avez créé dans Snowflake.
Sélectionnez Create.
Note
Pour plus d’informations sur la création d’une connexion Snowflake dans Microsoft Fabric, voir Configurer votre connexion à votre base de données Snowflake dans la documentation de Microsoft Fabric.
Une fois votre connexion créée, copiez votre Connection ID pour votre connexion dans un éditeur de texte.
Par exemple :
1111a111-11a1-1111-11a1-11aa1111aaa1. Vous devrez spécifier cet ID de connexion plus tard dans Snowflake lorsque vous connecterez votre base de données standard Snowflake à Microsoft Fabric.
Étape 5 : Récupérer le nom de votre application multi-locataire Azure¶
Dans cette étape, vous utilisez Snowflake pour récupérer le nom de votre application multi-locataire Azure. Vous spécifierez ce nom d’application ultérieurement lorsque vous donnerez à votre application multi-locataire Azure l’accès à votre espace de travail Fabric.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Ingestion » Add Data.
Sur la page Add Data , sélectionnez Microsoft OneLake.
Saisissez votre ID de client Fabric, puis sélectionnez Continue.
En haut de la boîte de dialogue Create an item in Microsoft Fabric, copiez votre Multi-tenant app name dans un éditeur de texte.
Étape 6 : Accorder à votre application multi-locataire Azure l’accès à votre espace de travail¶
Dans cette étape, vous donnez à l’application multi-locataire Azure l’accès à votre espace de travail dans Fabric.
Accédez à Microsoft Fabric, puis connectez-vous.
Ouvrez votre espace de travail Microsoft Fabric.
Pour créer un espace de travail, voir. Conditions préalables.
Sélectionnez Manage access.
Sélectionnez + Add people or groups.
Dans le champ Enter name or email, copiez le nom de votre application multi-locataire Azure de Snowflake.
Pour récupérer le nom de votre application multi-locataire Azure, voir Étape 5 : Récupérer le nom de votre application multi-locataire Azure.
Dans le menu déroulant, sélectionnez l’accès Contributor ou un accès supérieur pour permettre à l’application de créer l’élément Fabric nécessaire.
Sélectionnez Add.
Dans la zone supérieure droite, sélectionnez Settings, puis sélectionnez Manage connections and gateways.
Dans la zone supérieure droite, recherchez votre ID de connexion.
Vous avez copié cet ID de connexion quand vous avez créé une connexion Snowflake dans Microsoft Fabric.
Dans l’onglet Connections, passez la souris sur votre connexion, sélectionnez l’icône … de votre connexion, puis sélectionnez Manage users.
Dans le champ Search by name or email, recherchez le nom de votre application multi-locataire, puis sélectionnez-le.
Sélectionnez le niveau de privilèges approprié pour l’utilisateur.
Pour permettre à l’application multi-locataire d’utiliser la connexion Snowflake, sélectionnez Share.
Étape 7 : Connecter votre base de données standard Snowflake à Microsoft Fabric¶
Dans cette étape, vous connectez une base de données Snowflake standard à Microsoft Fabric.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Ingestion » Add Data.
Sur la page Add Data , sélectionnez Microsoft OneLake.
Saisissez votre ID de client Fabric et sélectionnez Continue.
Pour trouver votre ID de client Fabric, voir Étape 1 : Trouver votre ID de client Microsoft Fabric, le nom de votre organisation Snowflake et le nom de votre compte Snowflake.
Pour donner votre consentement à l’utilisation de l’application multilocataire de votre compte Snowflake dans votre client Entra, sélectionnez Provide consent.
Si vous n’avez pas effectué cette étape auparavant, vous devriez voir une invite de consentement. Examinez les autorisations, donnez votre de consentement, puis passez à l’étape suivante.
Il est possible que cette étape soit déjà terminée pour votre compte Snowflake. Si c’est le cas, fermez la fenêtre contextuelle qui apparaît, puis passez à l’étape suivante.
Si vous ne pouvez pas terminer le flux de consentement, demandez à votre administrateur client Entra d’effectuer cette étape pour vous.
Sélectionnez Continue.
Dans la boîte de dialogue Create an item in Microsoft Fabric, remplissez les champs :
Pour Fabric workspace name, saisissez le nom de l’espace de travail dans Fabric où vous souhaitez voir vos tables Iceberg.
Pour valider que votre ID de connexion est dans le bon format, pour Snowflake connection ID in Fabric, entrez votre ID de connexion Snowflake que vous avez copié lorsque vous avez créé une connexion Snowflake dans Microsoft Fabric.
Note
Vous devez créer un objet de connexion Snowflake dans Fabric afin de pouvoir lire vos tables gérées par Snowflake.
Pour Snowflake database, sélectionnez la base de données Snowflake qui contient les tables Iceberg gérées par Snowflake que vous souhaitez voir dans Fabric.
Note
Si vous souhaitez créer une nouvelle base de données Snowflake et la connecter à Fabric, sélectionnez + Create a new database.
Pour créer un élément Fabric et une base de données, sélectionnez. Continue.
Dans la boîte de dialogue Create External Volume, pour créer un volume externe, examinez les détails du volume, puis sélectionnez Create Volume.
Un élément Fabric est créé dans Microsoft Fabric et un volume externe est créé dans Microsoft Fabric OneLake.
Étape 8 : Créer une table Iceberg¶
Dans cette étape, vous créez une table Iceberg gérée par Snowflake dans votre base de données standard dans Snowflake.
Connectez-vous à Snowsight.
Ouvrez votre espace de travail dans Snowsight.
Pour plus d’informations, consultez Ouvrir les feuilles de calcul dans des onglets.
Dans votre base de données standard, créez un exemple de table Iceberg :
CREATE ICEBERG TABLE SnowflakeFabricIcebergDB.PUBLIC.SampleIcebergTable ( id INT, name STRING ) CATALOG = 'SNOWFLAKE';
Dans l’exemple de table Iceberg, insérez deux lignes :
INSERT INTO SnowflakeFabricIcebergDB.PUBLIC.SampleIcebergTable VALUES (1, 'Alice'), (2, 'Bob');
Étape 9 : Voir la table Iceberg dans Fabric¶
Accédez à Microsoft Fabric, puis connectez-vous.
Ouvrez votre espace de travail.
Vous devriez voir un nouvel élément de base de données Snowflake nommé d’après votre base de données. Si nécessaire, actualisez la page.
À l’endroit où vous avez créé votre table dans Snowflake, ouvrez l’élément de base de données et le schéma.
Vous devriez voir la table Iceberg que vous avez créée dans Snowflake. Lorsque vous mettez à jour la table dans Snowflake, vous pouvez actualiser les mises à jour de la table dans Microsoft Fabric.
Dans le coin supérieur droit, sélectionnez SQL analytics endpoint.
Vous pouvez utiliser SQL pour interagir avec votre table ou essayez d’utiliser d’autres charges de travail Fabric pour interroger cette table ainsi que vos autres données Fabric.