Ansluta till en extern Cloudflare R2-plats

Den här sidan beskriver hur du ansluter till en extern Cloudflare R2-plats. När du har anslutit kan du styra åtkomsten till dessa R2-objekt med hjälp av Unity Catalog.

För att ansluta till en Cloudflare R2-sökväg behöver du två skyddsbara objekt i Unity Catalog. Den första är en lagringsautentiseringsuppgift som anger en R2 API-token som ger åtkomst till R2-platsen. Du behöver den här lagringsautentiseringsuppgiften för det andra obligatoriska objektet: en extern plats som definierar sökvägen till din R2-lagringsplats och de autentiseringsuppgifter som krävs för att komma åt den platsen.

Requirements

  • Databricks-arbetsytan är aktiverad för Unity Catalog.

  • Databricks Runtime 14.3 eller senare eller SQL Warehouse 2024.15 eller senare.

    Om du får felmeddelandet No FileSystem for scheme "r2”har din beräkning förmodligen en version som inte stöds.

  • Ett Cloudflare-konto. Se även https://dash.cloudflare.com/sign-up.

  • En Admin-roll för Cloudflare R2. Se dokumentationen för Cloudflare-roller.

  • CREATE STORAGE CREDENTIAL och CREATE EXTERNAL LOCATION behörigheter i Unity Catalog-metaarkivet som är kopplat till arbetsytan. Kontoadministratörer och metaarkivadministratörer har dessa behörigheter som standard.

Steg 1: Konfigurera en R2-bucket

  1. Skapa en Cloudflare R2-bucket.

    Du kan använda Cloudflare-instrumentpanelen eller Cloudflare Wrangler-verktyget.

    Se dokumentationen om Cloudflare R2 "Kom igång" eller Wrangler-dokumentationen.

  2. Skapa en R2 API-token och tillämpa den på bucketen.

    Se dokumentationen för Cloudflare R2 API-autentisering.

    Ange följande tokenegenskaper:

    • Behörigheter: Objektläsning och skrivning.

      Den här behörigheten ger läs- och skrivåtkomst, vilket krävs när du använder R2-lagring som replikeringsmål, enligt beskrivningen i Använda Cloudflare R2-repliker eller migrera lagring till R2.

      Om du vill framtvinga skrivskyddad åtkomst från Azure Databricks till R2-bucketen kan du i stället skapa en token som endast ger läsåtkomst. Detta kan dock vara onödigt eftersom du kan markera lagringsautentiseringsuppgifterna som skrivskyddade och all skrivåtkomst som beviljas av den här behörigheten ignoreras.

    • (Valfritt) TTL: Hur lång tid du vill dela bucketdata med datamottagarna.

    • (Valfritt) Ip-adressfiltrering för klienten: Välj om du vill begränsa nätverksåtkomsten till angivna mottagar-IP-adresser. Om det här alternativet är aktiverat måste du ange mottagarnas IP-adresser och du måste tillåta att databricks-kontrollplanets NAT-IP-adress anges för arbetsytans region.

    Se IP-adresser och domäner för Azure Databricks tjänster och tillgångar.

  3. Kopiera R2 API-tokenvärdena:

    • Åtkomstnyckel-ID
    • Hemlig åtkomstnyckel

    Viktigt!

    Tokenvärden visas bara en gång.

  4. På R2-startsidan går du till Kontoinformation och kopierar R2-konto-ID:t.

Steg 2: Skapa lagringsautentiseringsuppgifterna

  1. Logga in på din arbetsyta i Azure Databricks.

  2. Klicka på dataikonen.Katalog.

  3. Klicka på knappen Externa data > , gå till fliken Autentiseringsuppgifter och välj Skapa autentiseringsuppgifter.

  4. Välj Lagringsautentiseringsuppgifter.

  5. Välj en autentiseringstyp förCloudflare API-token.

  6. Ange ett namn på autentiseringsuppgifterna och följande värden som du kopierade när du konfigurerade R2-bucketen:

    • Konto-ID
    • Åtkomstnyckel-ID
    • Hemlig åtkomstnyckel
  7. (Valfritt) Om du vill att användarna ska ha skrivskyddad åtkomst till de externa platser som använder den här lagringsautentiseringsuppgiften väljer du Skrivskyddade alternativ i Avancerade alternativ.

    Välj inte det här alternativet om du vill använda lagringsautentiseringsuppgifterna för att få åtkomst till R2-lagring som du använder som replikeringsmål, enligt beskrivningen i Använd Cloudflare R2-repliker eller migrera lagring till R2.

    Mer information finns i Markera en lagringsautentiseringsuppgift som skrivskyddad.

  8. Klicka på Skapa.

  9. I dialogrutan Lagringsautentisering skapad kopierar du Externt ID.

  10. (Valfritt) Binda lagringsautentiseringsuppgifterna till specifika arbetsytor.

    Som standard kan en lagringsautentiseringsuppgift användas av alla privilegierade användare på alla arbetsytor som är anslutna till metaarkivet. Om du bara vill tillåta åtkomst från specifika arbetsytor går du till fliken Arbetsytor och tilldelar arbetsytor. Se Tilldela en lagringsautentiseringsuppgift till specifika arbetsytor.

Steg 3: Skapa den externa platsen

Om du vill skapa den externa platsen använder du Catalog Explorer om du föredrar att använda ett grafiskt användargränssnitt eller SQL om du föredrar att skapa programmatiskt.

Alternativ 1: Skapa en extern plats med Hjälp av Katalogutforskaren

  1. Logga in på en arbetsyta som är ansluten till metastore.

  2. I sidofältet klickar du på dataikonen.Katalog.

  3. Klicka på knappen Externa data > , gå till fliken Externa platser och klicka på Skapa extern plats.

  4. I dialogrutan Skapa en ny extern plats klickar du på Manuell och sedan på Nästa.

    Du kan inte använda alternativet AWS-snabbstart för att skapa en extern plats för DBFS-roten.

  5. I dialogrutan Skapa en ny extern plats manuellt anger du namnet på en extern plats.

  6. Under Lagringstyp väljer du R2.

  7. Under URL anger du sökvägen. Till exempel r2://my-bucket@my-account-id.r2.cloudflarestorage.com.

  8. Under Lagringsautentiseringsuppgifter väljer du de lagringsautentiseringsuppgifter som ger åtkomst till den externa platsen.

  9. (Valfritt) Om du vill att användarna ska ha skrivskyddad åtkomst till den externa platsen klickar du på Avancerade alternativ och väljer Begränsa till skrivskyddad användning. Du kan ändra den här inställningen senare. Mer information finns i Markera en extern plats som skrivskyddad.

  10. (Valfritt) Om den externa platsen är avsedd för migrering av äldre arbetsbelastningar klickar du på Avancerade alternativ och aktiverar återställningsläge.

    Se Aktivera reservläge på externa platser.

  11. Klicka på Skapa.

  12. (Valfritt) Binda den externa platsen till specifika arbetsytor.

    Som standard kan alla privilegierade användare använda den externa platsen på valfri arbetsyta som är kopplad till metaarkivet. Om du bara vill tillåta åtkomst från specifika arbetsytor går du till fliken Arbetsytor och tilldelar arbetsytor. Se Tilldela en extern plats till specifika arbetsytor.

  13. Gå till fliken Behörigheter för att bevilja behörighet att använda den externa platsen.

    För att någon ska kunna använda den externa platsen måste du bevilja behörigheter:

    • Om du vill använda den externa platsen för att lägga till en hanterad lagringsplats i metaarkiv, katalog eller schema beviljar du behörigheten CREATE MANAGED LOCATION .
    • Om du vill skapa externa tabeller eller volymer, bevilja åtkomst till CREATE EXTERNAL TABLE eller CREATE EXTERNAL VOLUME.
    1. Klicka på Tillåt.
    2. På dialogrutan Grant on <external location> väljer du användare, grupper eller tjänsternas huvudprinciper i Principals-fältet och väljer den behörighet som du vill bevilja.
    3. Klicka på Tillåt.

Alternativ 2: Skapa en extern plats med SQL

Om du vill skapa en extern plats med SQL kör du följande kommando i en notebook-fil eller SQL-frågeredigeraren. Ersätt platshållarvärdena.

  • <location-name>: Ett namn på den externa platsen. Om location_name innehåller specialtecken, till exempel bindestreck (-), måste det omges av backticks (` `). Se Namn.
  • <bucket-path>: Sökvägen i din molnklientorganisation som den här externa platsen ger åtkomst till. Till exempel r2://my-bucket@my-account-id.r2.cloudflarestorage.com.
  • <storage-credential-name>: Namnet på lagringsautentiseringsuppgifterna som auktoriserar läsning från och skrivning till bucketen. Om namnet på lagringsautentiseringsuppgifterna innehåller specialtecken, till exempel bindestreck (-), måste det omges av backticks (` `).
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];

Om du vill begränsa åtkomsten till externa platser till specifika arbetsytor i ditt konto, även kallat bindning av arbetsytor eller extern platsisolering, kan du läsa Tilldela en extern plats till specifika arbetsytor.