Configuration d’une intégration de catalogue pour OneLake REST¶
Suivez les étapes de cette rubrique pour créer une intégration de catalogue pour le point de terminaison de l’OneLake REST API, qui est un point de terminaison pour les OneLake de table APIs que vous pouvez utiliser pour interagir avec les tables dans Microsoft Fabric. Pour plus d’informations sur ce point de terminaison, voir Premiers pas avec les OneLake de table APIs pour Iceberg dans la documentation Microsoft Fabric.
Grâce à l’intégration de catalogue, vous pouvez utiliser Snowflake pour lire les tables OneLake qui ont des métadonnées Iceberg.
Conditions préalables¶
Avant de commencer, vous devez trouver l’ID de votre espace de travail et l’ID de l’élément de données pour votre Lakehouse dans Fabric. Vous spécifiez l’ID de votre espace de travail et l’ID de l’élément de données plus tard lorsque vous créez une intégration de catalogue pour OneLake REST.
Pour trouver l’ID de votre espace de travail (
<workspaceID>), reportez-vous à l’URL du site Fabric concernant un élément dans un espace de travail. Pour plus d’informations, voir Identifier votre ID d’espace de travail dans la documentation Microsoft Fabric. Copiez l’ID de votre espace de travail dans un éditeur de texte.Pour trouver votre ID d’élément de données (
<dataItemID>), open your lakehouse, and then refer to the value afterLakehousesdans l’URL. Pour plus d’informations, voir. Configuration source Lakehouse dans la documentation Microsoft Fabric et recherchez le point à puces Connexion. Copiez votre ID d’élément de données dans un éditeur de texte.
Dans votre espace de travail Fabric, assurez-vous que des tables Iceberg figurent dans chaque élément de données, comme dans un lakehouse.
Étape 1 : Configurer les autorisations d’accès pour OneLake¶
Pour configurer les autorisations d’accès pour OneLake, vous devez créer une inscription d’application dans Microsoft Azure, vous ajoutez l’autorisation d’usurpation d’identité à votre inscription d’application et vous créez un nouveau secret client pour votre inscription d’application.
Dans Azure, créez une inscription d’application.
Pour plus de détails, voir Inscrire une application dans Microsoft Entra ID dans la documentation de Microsoft Entra.
Dans l’inscription de votre application, ajoutez l’autorisation d’usurpation d’identité.
Pour commencer, suivez les quatre premières étapes à la section Utilisez le centre d’administration Microsoft Entra pour trouver les APIs utilisées par votre organisation dans la documentation Microsoft Graph.
Important
Ne pas passer à l’onglet APIs my organization uses comme décrit dans les étapes. Au lieu de cela, passez à l’onglet Microsoft APIs, sélectionnez Azure Storage, puis ajoutez l’autorisation d’user_impersonation.
Créez un nouveau secret client pour l’inscription de votre application, puis copiez le secret dans un éditeur de texte.
Pour obtenir des instructions, voir Créer un nouveau secret client dans la documentation de Microsoft Entra. Vous spécifiez le secret lorsque vous créez une intégration de catalogue.
Important
Veillez à copier votre secret dans un éditeur de texte, car vous ne pourrez pas le récupérer ultérieurement.
À partir de la page de Overview de l’inscription de votre application, copiez le Display name, l’Application (client) ID, et l’Directory (tenant) ID dans un éditeur de texte.
Vous spécifiez ces valeurs lorsque vous créez une intégration de catalogue et un volume externe.
Étape 2 : Accorder l’accès d’inscription de votre application à votre espace de travail Fabric¶
Dans cette étape, vous donnez l’accès d’inscription d’application à votre espace de travail dans Fabric.
Accédez à Microsoft Fabric, puis connectez-vous.
Ouvrez votre espace de travail Microsoft Fabric.
Sélectionnez Manage access.
Sélectionnez + Add people or groups.
Dans le champ Enter name or email, collez le nom de l’inscription de votre application.
Ce nom est le Display name que vous avez copié lorsque vous avez configuré les autorisations d’accès pour OneLake.
Dans le menu déroulant, sélectionnez. Contributor Accès ou supérieur pour permettre à l’application de créer l’élément Fabric nécessaire.
Sélectionnez Add.
Étape 3 : Étape 2 : Créer une intégration de catalogue dans Snowflake¶
Créer une intégration de catalogue pour REST API de point de terminaison en utilisant l” CREATE CATALOG INTEGRATION (Apache Iceberg™ REST) Commande.
Par exemple :
CREATE OR REPLACE CATALOG INTEGRATION my_onelake_catalog_int
CATALOG_SOURCE = ICEBERG_REST
TABLE_FORMAT = ICEBERG
REST_CONFIG = (
CATALOG_URI = 'https://onelake.table.fabric.microsoft.com/iceberg'
CATALOG_NAME = '<fabric_data_item_scope>'
)
REST_AUTHENTICATION = (
TYPE = OAUTH
OAUTH_TOKEN_URI = '<azure_active_directory_token_endpoint>'
OAUTH_CLIENT_ID = '<entra_application_client_id>'
OAUTH_CLIENT_SECRET = '<entra_application_client_secret>'
OAUTH_ALLOWED_SCOPES = ('https://storage.azure.com/.default')
)
ENABLED = TRUE;
Où :
https://onelake.table.fabric.microsoft.com/icebergest l’URL de base au point de terminaison OneLake.<fabric_data_item_scope>is the Fabric data item scope, in the form<workspaceID>/<dataItemID>, such as12345678-abcd-1abc-1a11-111111ab1111/11111111-abcd-1111-1ab1-1111a1a1ab91. To find your<workspaceID>and<dataItemID>, voir Conditions préalables.<azure_active_directory_token_endpoint_>is your Azure Active Directory OAuth 2.0 token endpoint URL, in the form ofhttps://login.microsoftonline.com/<entra_tenant_id>/oauth2/v2.0/token. For<entra_tenant_id>vous spécifiez votre de client Entra ID, que vous avez copié lorsque vous avez configuré les autorisations d’accès pour OneLake.<entra_application_client_id>est votre client d’application Entra ID, que vous avez copié lorsque vous avez configuré les autorisations d’accès pour OneLake, par exemple11111111-aabb-1a11-abc1-ab11111a11a1.<entra_application_client_secret>est le secret de votre client d’application, que vous avez copié lorsque vous avez configuré les autorisations d’accès pour OneLake.https://storage.azure.com/.defaultest l’audience du jeton de stockage.
Étape 4 : Configurer un volume externe¶
Dans cette étape, vous configurez un volume externe pour Azure avec votre Azure OneLake URL et votre client Entra ID.
Créez un volume externe via la commande CREATE EXTERNAL VOLUME.
Par exemple :
CREATE OR REPLACE EXTERNAL VOLUME my_onelake_extvol STORAGE_LOCATIONS = ( ( NAME = 'my_onelake_extvol' STORAGE_PROVIDER = 'AZURE' STORAGE_BASE_URL = '<azure_onelake_url>' AZURE_TENANT_ID='<entra_tenant_id>' ) ) ALLOW_WRITES = FALSE;
Où :
<azure_onelake_url>is your Azure OneLake URL, in the form ofazure://onelake.dfs. Fabric.microsoft.com/<workspaceID>/<dataItemID>, such asazure://onelake.dfs. Fabric.microsoft.com/12345678-abcd-1abc-1a11-1111111ab1111/11111111-abcd-1111-1ab1-1111a1a1ab91. To find your<workspaceID>and<dataItemID>, voir Conditions préalables.<entra_tenant_id>is your Entra tenant ID, such as,11111111-aabb-1a11-abc1-ab11111a11a1. Vous avez copié votre client Entra ID quand vous avez configuré les autorisations d’accès pour OneLake.
Pour récupérer une URL vers la page de demande d’autorisations Microsoft, utilisez la commande DESCRIBE EXTERNAL VOLUME. Indiquez le nom du volume externe que vous avez créé précédemment.
DESC EXTERNAL VOLUME my_onelake_extvol;
Enregistrez les valeurs des propriétés suivantes :
Propriété
Description
AZURE_CONSENT_URLURL vers la page de demande d’autorisations de Microsoft.
AZURE_MULTI_TENANT_APP_NAMENom de l’application client Snowflake créée pour votre compte. Ultérieurement dans cette section, vous accorderez à cette application l’autorisation nécessaire pour obtenir un jeton d’accès sur votre emplacement de stockage autorisé.
Vous utiliserez ces valeurs dans les étapes suivantes.
Dans un navigateur web, accédez à la page de demande d’autorisations Microsoft (l”
AZURE_CONSENT_URL).Sélectionnez Accept. Cette action permet au principal du service Azure créé pour votre compte Snowflake d’obtenir un jeton d’accès sur une ressource indiquée à l’intérieur de votre client. L’obtention d’un jeton d’accès ne réussit que si vous accordez au principal du service les autorisations appropriées au niveau du compte de stockage (voir l’étape suivante).
Accordez à l’application multi-locataire l’autorisation d’obtenir un jeton d’accès sur votre emplacement de stockage autorisé dans Fabric.
Accédez à Microsoft Fabric, puis connectez-vous.
Ouvrez votre espace de travail Microsoft Fabric.
Sélectionnez Manage access.
Sélectionnez + Add people or groups.
Dans le champ Enter name or email, collez la valeur que vous avez enregistrée pour AZURE_MULTI_TENANT_APP_NAME.
Dans le menu déroulant, sélectionnez. Contributor Accès ou supérieur pour permettre à l’application de créer l’élément Fabric nécessaire.
Sélectionnez Add.
Pour plus d’informations, voir. Exemple d’intégration de catalogue Snowflake et de code de volume externe pour le point de terminaison REST dans Microsoft Fabric dans la documentation Microsoft Fabric.
Prochaines étapes¶
Après avoir configuré une intégration de catalogue pour OneLake REST et un volume externe, vous pouvez utiliser la commande CREATE DATABASE (liée à un catalogue) pour créer une base de données liée au catalogue, puis lire vos tables à partir de OneLake dans Snowflake
Lorsque vous créez votre base de données liée au catalogue, vous spécifiez l’intégration de catalogue et le volume externe que vous avez créé.
Par exemple :
CREATE OR REPLACE DATABASE my_linked_db
LINKED_CATALOG = (
CATALOG = 'my_onelake_catalog_int'
)
EXTERNAL_VOLUME = 'my_onelake_extvol';
SELECT SYSTEM$CATALOG_LINK_STATUS('IRC_CATALOG_LINKED');
SELECT * FROM my_linked_db."dbo"."sentiment";
Note
Snowflake ne prend en charge que les opérations de lecture pour les tables dans OneLake.