Connectez-vous à un emplacement externe Cloudflare R2
Cette page décrit comment se connecter à un emplacement externe Cloudflare R2. Après vous être connecté, vous pouvez régir l'accès à ces objets R2 à l'aide de Unity Catalog.
Pour vous connecter avec succès à un chemin Cloudflare R2, vous avez besoin de deux objets sécurisables Unity Catalog. Le premier est un identifiant de stockage, qui spécifie un jeton API R2 permettant l'accès à l'emplacement R2. Vous avez besoin de cet identifiant de stockage pour le deuxième objet requis : un emplacement externe, qui définit le chemin d'accès à votre emplacement de stockage R2 et les identifiants nécessaires pour accéder à cet emplacement.
Exigences
-
Workspace Databricks activé pour Unity Catalog.
-
Databricks Runtime 14.3 ou version ultérieure, ou SQL warehouse 2024.15 ou version ultérieure.
Si vous rencontrez le message d'erreur
No FileSystem for scheme "r2”, votre compute est probablement sur une version non prise en charge. -
Un compte Cloudflare. Consultez https://dash.cloudflare.com/sign-up.
-
Un rôle d'administrateur Cloudflare R2. Consultez la documentation sur les rôles Cloudflare.
-
CREATE STORAGE CREDENTIALet les privilègesCREATE EXTERNAL LOCATIONsur le métastore Unity Catalog attaché au workspace. Les administrateurs de compte et les administrateurs de métastore disposent de ces privilèges par default.
Étape 1 : Configurez un compartiment R2
-
Créez un compartiment Cloudflare R2.
Vous pouvez utiliser le tableau de bord Cloudflare ou l'outil Cloudflare Wrangler.
Consulter la documentation « Get start » de Cloudflare R2 ou la documentation Wrangler.
-
Créez un jeton API R2 et appliquez-le au compartiment.
Consultez la documentation d'authentification de l'API Cloudflare R2.
Définissez les propriétés de jeton suivantes :
-
Autorisations : lecture et écriture d'objets.
Cette autorisation octroie un accès en lecture et en écriture, requis lorsque vous utilisez le stockage R2 comme cible de réplication, comme décrit dans Utiliser les réplicas Cloudflare R2 ou migrer le stockage vers R2.
Si vous souhaitez appliquer un accès en lecture seule de Databricks au bucket R2, vous pouvez à la place créer un jeton qui accorde un accès en lecture uniquement. Cependant, cela peut être inutile, car vous pouvez marquer l'identifiant de stockage en lecture seule, et tout accès en écriture accordé par cette permission sera ignoré.
-
(Facultatif) TTL : La durée pendant laquelle vous souhaitez partager les données du compartiment avec les destinataires des données.
-
(Facultatif) Filtrage d'adresses IP clientes : sélectionnez si vous souhaitez limiter l'accès réseau aux adresses IP des destinataires spécifiées. Si cette option est activée, vous devez spécifier les adresses IP de vos destinataires et vous devez ajouter l'adresse IP NAT du plan de contrôle Databricks à la liste d'autorisation pour la région du Workspace.
-
-
Copiez les valeurs du jeton API R2 :
- ID de clé d'accès
- Clé d'accès secrète
Les valeurs des jetons ne sont affichées qu’une seule fois.
- Sur la page d'accueil de R2, accédez à **Détails du compte** et copiez l'ID de compte R2.
Étape 2 : Créer l'identifiant de stockage
-
Dans Databricks, connectez-vous à votre Workspace.
-
Cliquez sur
le Catalogue .
-
Cliquez sur le bouton **Données externes >**, accédez à l'onglet **tab**, puis sélectionnez **Créer un identifiant**.
-
Sélectionnez **Identifiant de stockage**.
-
Sélectionnez un Type d'identifiant de Jeton d'API Cloudflare .
-
Saisissez un nom pour l'identifiant et les valeurs suivantes que vous avez copiées lors de la configuration du compartiment R2 :
- ID de compte
- ID de la clé d'accès
- Clé d'accès secrète
-
(Facultatif) Si vous souhaitez que les utilisateurs aient un accès en lecture seule aux emplacements externes qui utilisent ces informations d'identification de stockage, dans **Options avancées**, sélectionnez **Lecture seule**.
Ne sélectionnez pas cette option si vous souhaitez utiliser les informations d’identification de stockage pour accéder au stockage R2 que vous utilisez comme cible de réplication, comme décrit dans Utiliser les réplicas Cloudflare R2 ou migrer le stockage vers R2.
Pour plus d'information, consultez Marquer un identifiant de stockage comme lecture seule.
-
Cliquez sur Créer .
-
Dans la boîte de dialogue Identifiant de stockage créé , copiez l' ID externe .
-
(Facultatif) Liez les informations d'identification de stockage à des Workspace spécifiques.
Par default, une information d'identification de stockage peut être utilisée par tout utilisateur privilégié sur n'importe quel workspace attaché au metastore. Si vous souhaitez autoriser l’accès uniquement à partir de workspaces spécifiques, accédez à l’onglet tab et attribuez des workspaces. Consultez Attribuer des informations d'identification de stockage à des Workspace spécifiques.
Étape 3 : Créez l'emplacement externe
Pour créer l'emplacement externe, utilisez l'Explorateur de catalogue si vous préférez utiliser une interface utilisateur graphique, ou SQL si vous préférez la création par programme.
Option 1 : Créez un emplacement externe à l’aide de Catalog Explorer
-
Connectez-vous à un Workspace qui est associé au métastore.
-
Dans la barre latérale, cliquez sur
Catalogue .
-
Cliquez sur le bouton Données externes > , accédez à l’onglet External Locations tab et cliquez sur Créer un emplacement externe .
-
Dans la boîte de dialogue Créer un nouvel emplacement externe , cliquez sur Manuel , puis sur Suivant .
Vous ne pouvez pas utiliser l’option Quickstart AWS pour créer un emplacement externe pour la racine DBFS.
-
Dans la boîte de dialogue Créer manuellement un nouvel emplacement externe , saisissez un Nom d'emplacement externe .
-
Sous **Type de stockage**, sélectionnez **R2**.
-
Sous **URL**, saisissez le chemin. Par exemple,
r2://my-bucket@my-account-id.r2.cloudflarestorage.com. -
Sous Identifiant de stockage , sélectionnez l'identifiant de stockage qui accorde l'accès à l'emplacement externe.
-
(Facultatif) Si vous souhaitez que les utilisateurs disposent d'un accès en lecture seule à l'emplacement externe, cliquez sur **Options avancées** et sélectionnez **Limiter à l'utilisation en lecture seule**. Vous pouvez modifier ce paramètre ultérieurement. Pour plus d'informations, consultez Marquer un emplacement externe comme lecture seule.
-
(Facultatif) Si l'emplacement externe est destiné à la migration de charges de travail existantes, cliquez sur Options avancées et activez le mode Fallback .
Consultez Activer le mode fallback sur les emplacements externes.
-
Cliquez sur Créer .
-
(Facultatif) Liez l'emplacement externe à des workspaces spécifiques.
Par default, tout utilisateur privilégié peut utiliser l’emplacement externe sur n’importe quel workspace attaché au métastore. Si vous souhaitez autoriser l’accès uniquement à partir de workspaces spécifiques, accédez à l’onglet tab et attribuez des workspaces. Voir Attribuer un emplacement externe à des workspaces spécifiques.
-
Allez dans l'onglet **tab** pour accorder l'autorisation d'utiliser l'emplacement externe.
Pour que quiconque puisse utiliser l'emplacement externe, vous devez accorder les autorisations :
- Pour utiliser l'emplacement externe afin d'ajouter un emplacement de stockage géré au métastore, au catalogue ou au schéma, accordez le privilège
CREATE MANAGED LOCATION. - Pour créer des tables ou des volumes externes, accordez
CREATE EXTERNAL TABLEouCREATE EXTERNAL VOLUME.
- Cliquez sur Accorder .
- Dans la boîte de dialogue Accorder sur
<external location>, sélectionnez des utilisateurs, des groupes ou des Service Principals dans le champ Principaux , et sélectionnez le privilège que vous souhaitez accorder. - Cliquez sur Accorder .
- Pour utiliser l'emplacement externe afin d'ajouter un emplacement de stockage géré au métastore, au catalogue ou au schéma, accordez le privilège
Option 2 : créer un emplacement externe à l'aide de SQL
Pour créer un emplacement externe à l'aide de SQL, exécutez la commande suivante dans un Notebook ou l'éditeur de requêtes SQL. Remplacez les valeurs des espaces réservés.
<location-name>Un nom pour l'emplacement externe. Silocation_nameinclut des caractères spéciaux, tels que des tirets (-), il doit être entouré d'accents graves (` `). Voir Noms.<bucket-path>: Le chemin dans votre tenant cloud auquel cet emplacement externe accorde l'accès. Par exemple,r2://my-bucket@my-account-id.r2.cloudflarestorage.com.<storage-credential-name>: Le nom de l'identifiant de stockage qui autorise la lecture et l'écriture dans le compartiment. Si le nom de l'identifiant de stockage inclut des caractères spéciaux, tels que des tirets (-), il doit être entouré d'accents graves (` `).
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];
Si vous souhaitez limiter l'accès à l'emplacement externe à des workspaces spécifiques de votre compte, également appelé liaison de workspace ou isolation d'emplacement externe, consultez Attribuer un emplacement externe à des workspaces spécifiques.