Connettersi a una posizione esterna di Cloudflare R2

Questa pagina descrive come connettersi a una posizione esterna cloudflare R2. Dopo la connessione, è possibile gestire l'accesso a questi oggetti R2 usando il catalogo Unity.

Per connettersi correttamente a un percorso in Cloudflare R2, sono necessari due oggetti proteggibili di Unity Catalog. La prima è una credenziale di archiviazione, che specifica un token API R2 che consente l'accesso alla posizione R2. Questa credenziale di archiviazione è necessaria per il secondo oggetto obbligatorio: una posizione esterna, che definisce il percorso del percorso di archiviazione R2 e le credenziali necessarie per accedere a tale posizione.

Requirements

  • Area di lavoro di Databricks abilitata per Unity Catalog.

  • Databricks Runtime 14.3 o versione successiva, o SQL Warehouse 2024.15 o versione successiva.

    Se viene visualizzato il messaggio No FileSystem for scheme "r2”di errore , il calcolo è probabilmente in una versione non supportata.

  • Un account Cloudflare. Vedete https://dash.cloudflare.com/sign-up.

  • Ruolo di amministratore di Cloudflare R2. Consulta la documentazione dei ruoli di Cloudflare.

  • CREATE STORAGE CREDENTIAL e CREATE EXTERNAL LOCATION privilegi sul metastore di Unity Catalog associato all'area di lavoro. Gli amministratori dell'account e gli amministratori del metastore hanno questi privilegi per impostazione predefinita.

Passaggio 1: Configurare un bucket R2

  1. Creare un bucket Cloudflare R2.

    È possibile usare il dashboard Cloudflare o lo strumento Cloudflare Wrangler.

    Vedere la documentazione di "Introduzione a Cloudflare R2" o la documentazione di Wrangler.

  2. Creare un token API R2 e applicarlo al bucket.

    Vedere la documentazione sull'autenticazione dell'API Cloudflare R2.

    Impostare le proprietà del token seguenti:

    • Autorizzazioni: lettura e scrittura dell'oggetto.

      Questa autorizzazione concede l'accesso in lettura e scrittura, necessario quando si usa l'archiviazione R2 come destinazione di replica, come descritto in Usare repliche Cloudflare R2 o eseguire la migrazione dell'archiviazione a R2.

      Se si vuole applicare l'accesso in sola lettura da Azure Databricks al bucket R2, è invece possibile creare un token che concede l'accesso in sola lettura. Tuttavia, ciò potrebbe non essere necessario, perché è possibile contrassegnare le credenziali di archiviazione come di sola lettura e qualsiasi accesso in scrittura concesso da questa autorizzazione verrà ignorato.

    • (Facoltativo) TTL: periodo di tempo in cui si desidera condividere i dati del bucket con i destinatari dei dati.

    • (Facoltativo) Filtraggio degli indirizzi IP client: selezionare se si desidera limitare l'accesso alla rete agli indirizzi IP dei destinatari specificati. Se questa opzione è abilitata, è necessario specificare gli indirizzi IP dei destinatari ed è necessario consentire l'elenco dell'indirizzo IP NAT del piano di controllo Databricks per l'area di lavoro.

    Vedere Indirizzi IP e domini per i servizi e gli asset di Azure Databricks.

  3. Copiare i valori del token API R2:

    • ID Chiave di Accesso
    • Chiave di accesso Privata

    Importante

    I valori del token vengono visualizzati una sola volta.

  4. Nella home page di R2 passare a Dettagli account e copiare l'ID account R2.

Passaggio 2: Creare le credenziali di archiviazione

  1. In Azure Databricks accedere all'area di lavoro.

  2. Fare clic sull'icona Dati.Catalogo.

  3. Fare clic sul pulsante Dati >esterni, passare alla scheda Credenziali e selezionare Crea credenziali.

  4. Selezionare Credenziale di archiviazione.

  5. Selezionare un tipo di credenziale del token API Cloudflare.

  6. Immettere un nome per le credenziali e i valori seguenti copiati durante la configurazione del bucket R2:

    • Account ID
    • ID chiave di accesso
    • Chiave di accesso privata
  7. (Facoltativo) Se si vuole che gli utenti abbiano accesso in sola lettura ai percorsi esterni che usano questa credenziale di archiviazione, in Opzioni avanzate selezionare Sola lettura.

    Non selezionare questa opzione se si vuole usare le credenziali di archiviazione per accedere all'archiviazione R2 usata come destinazione di replica, come descritto in Usare repliche Cloudflare R2 o eseguire la migrazione dell'archiviazione a R2.

    Per altre informazioni, vedere Contrassegnare le credenziali di archiviazione come di sola lettura.

  8. Clicca su Crea.

  9. Nella finestra di dialogo Credenziali di archiviazione create, copiare l'ID esterno.

  10. (Facoltativo) Associare le credenziali di archiviazione a aree di lavoro specifiche.

    Per impostazione predefinita, una credenziale di archiviazione può essere usata da qualsiasi utente con privilegi in qualsiasi area di lavoro collegata al metastore. Se si vuole consentire l'accesso solo da aree di lavoro specifiche, passare alla scheda Aree di lavoro e assegnare le aree di lavoro. Vedere Assegnare credenziali di archiviazione a aree di lavoro specifiche.

Passaggio 3: Creare la posizione esterna

Per creare la posizione esterna, usare Esplora cataloghi se si preferisce usare un'interfaccia utente grafica o SQL se si preferisce la creazione a livello di codice.

Opzione 1: Creare un percorso esterno usando Esplora cataloghi

  1. Accedi a un'area di lavoro collegata al metastore.

  2. Nella barra laterale fare clic sull'icona Dati.Catalogo.

  3. Fare clic sul pulsante Dati >esterni, passare alla scheda Percorsi esterni e fare clic su Crea percorso esterno.

  4. Nella finestra di dialogo Crea una nuova posizione esterna fare clic su Manuale, quindi su Avanti.

    Non è possibile usare l'opzione Avvio rapido di AWS per creare un percorso esterno per la radice DBFS.

  5. Nella finestra di dialogo Crea manualmente una nuova posizione esterna, immettere un Nome posizione esterna.

  6. In Tipo di archiviazione selezionare R2.

  7. In URL immettere il percorso. Ad esempio: r2://my-bucket@my-account-id.r2.cloudflarestorage.com.

  8. In Credenziali di archiviazione selezionare le credenziali di archiviazione che concedono l'accesso alla posizione esterna.

  9. (Facoltativo) Se si vuole che gli utenti abbiano accesso in sola lettura alla posizione esterna, fare clic su Opzioni avanzate e selezionare Limita all'uso di sola lettura. È possibile modificare questa impostazione in un secondo momento. Per altre informazioni, vedere Contrassegnare una posizione esterna come di sola lettura.

  10. (Facoltativo) Se la posizione esterna è destinata alla migrazione del carico di lavoro legacy, fare clic su Opzioni avanzate e abilitare la modalità di fallback.

    Consultare Abilitare la modalità di fallback nei percorsi esterni.

  11. Clicca su Crea.

  12. (Facoltativo) Associare la posizione esterna a aree di lavoro specifiche.

    Per impostazione predefinita, qualsiasi utente con privilegi può usare la posizione esterna in qualsiasi area di lavoro collegata al metastore. Se si vuole consentire l'accesso solo da aree di lavoro specifiche, passare alla scheda Aree di lavoro e assegnare le aree di lavoro. Vedere Assegnare una posizione esterna a aree di lavoro specifiche.

  13. Passare alla scheda Autorizzazioni per concedere l'autorizzazione per l'uso della posizione esterna.

    Per consentire a chiunque di usare la posizione esterna, è necessario concedere le autorizzazioni:

    • Per utilizzare l'ubicazione esterna per aggiungere un'ubicazione di archiviazione gestita al metastore, al catalogo o allo schema, concedere il CREATE MANAGED LOCATION privilegio.
    • Per creare tabelle o volumi esterni, concedere CREATE EXTERNAL TABLE o CREATE EXTERNAL VOLUME.
    1. Fare clic su "Concedi".
    2. Nella finestra di dialogo Grant on <external location>, selezionare utenti, gruppi o entità servizio nel campo Principals e selezionare il privilegio che si vuole concedere.
    3. Fare clic su "Concedi".

Opzione 2: Creare un percorso esterno usando SQL

Per creare un percorso esterno usando SQL, eseguire il comando seguente in un notebook o nell'editor di query SQL. Sostituire i valori dei segnaposto.

  • <location-name>: Un nome per la posizione esterna. Se location_name include caratteri speciali, ad esempio trattini (-), deve essere racchiuso da backticks (` `). Consulta Nomi.
  • <bucket-path>: Il percorso nel tenant cloud a cui questa posizione esterna consente l'accesso. Ad esempio: r2://my-bucket@my-account-id.r2.cloudflarestorage.com.
  • <storage-credential-name>: nome delle credenziali di archiviazione che autorizza la lettura e la scrittura nel bucket. Se il nome delle credenziali di archiviazione include caratteri speciali, ad esempio trattini (-), deve essere racchiuso da apici inversi (` `).
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];

Se vuoi limitare l'accesso alla località esterna a specifiche aree di lavoro nel tuo account, operazione nota anche come associazione alle aree di lavoro o isolamento della località esterna, consulta Assegnare una località esterna a specifiche aree di lavoro.