Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf dieser Seite wird beschrieben, wie Sie eine Verbindung mit einem externen Standort von Cloudflare R2 herstellen. Nachdem Sie eine Verbindung hergestellt haben, können Sie den Zugriff auf diese R2-Objekte mithilfe des Unity-Katalogs steuern.
Um erfolgreich eine Verbindung mit einem Cloudflare R2-Pfad herzustellen, benötigen Sie zwei sicherungsfähige Unity-Katalog-Objekte. Das erste sind Speicherzugangsdaten, die ein R2-API-Token festlegen, das den Zugriff auf den R2-Speicherort ermöglicht. Sie benötigen diese Speicheranmeldeinformationen für das zweite erforderliche Objekt: einen externen Speicherort, der den Pfad zu Ihrem R2-Speicherort und die anmeldeinformationen definiert, die für den Zugriff auf diesen Speicherort erforderlich sind.
Requirements
Databricks-Arbeitsbereich, der für Unity Catalog aktiviert ist
Databricks Runtime 14.3 oder höher oder SQL Warehouse 2024.15 oder höher.
Wenn die Fehlermeldung
No FileSystem for scheme "r2”auftritt, befindet sich der Computer wahrscheinlich in einer nicht unterstützten Version.Ein Cloudflare-Konto. Siehe https://dash.cloudflare.com/sign-up.
Eine Cloudflare R2-Administratorrolle. Weitere Informationen finden Sie in der Dokumentation zu Cloudflare-Rollen.
CREATE STORAGE CREDENTIAL- undCREATE EXTERNAL LOCATION-Berechtigungen für den dem Arbeitsbereich zugeordneten Unity Catalog-Metastore. Kontoadministratoren und Metastore-Administratoren verfügen standardmäßig über diese Berechtigungen.
Schritt 1: Konfigurieren eines R2-Buckets
Erstellen Sie einen Cloudflare R2-Bucket.
Sie können das Cloudflare-Dashboard oder das Cloudflare-Wrangler-Tool verwenden.
Sehen Sie sich die Cloudflare R2-Dokumentation zu den ersten Schritten oder die Wrangler-Dokumentation an.
Erstellen Sie ein R2-API-Token, und wenden Sie es auf den Bucket an.
Weitere Informationen finden Sie in der Dokumentation zur Cloudflare R2 API-Authentifizierung.
Legen Sie die folgenden Tokeneigenschaften fest:
Berechtigungen: Objektlesezugriff und -schreibzugriff.
Diese Berechtigung gewährt Lese- und Schreibzugriff, was erforderlich ist, wenn Sie R2-Speicher als Replikationsziel verwenden, wie in Verwenden von Cloudflare R2-Replikaten oder Migrieren von Speicher zu R2 beschrieben.
Wenn Sie nur Lesezugriff von Azure Databricks auf den R2-Bucket erzwingen möchten, können Sie stattdessen ein Token erstellen, das Leseberechtigung gewährt. Dies kann jedoch unnötig sein, da Sie die Speicheranmeldeinformationen als schreibgeschützt markieren können, und alle Schreibzugriffe, die von dieser Berechtigung gewährt werden, werden ignoriert.
(Optional) TTL: Dies ist die Zeitspanne, in der Sie die Bucketdaten für die Datenempfänger freigeben möchten.
(Optional) Client-IP-Adressfilterung: Wählen Sie aus, ob Sie den Netzwerkzugriff auf angegebene Empfänger-IP-Adressen einschränken möchten. Wenn diese Option aktiviert ist, müssen Sie Ihre Empfänger-IP-Adressen angeben und die NAT-Adresse der Databricks-Steuerungsebene für die Arbeitsbereichsregion zulassen.
Siehe IP-Adressen und Domänen für Azure Databricks-Dienste und -Ressourcen.
Kopieren Sie die R2-API-Tokenwerte:
- Zugriffsschlüssel-ID
- Geheimer Zugriffsschlüssel
Important
Tokenwerte werden nur einmal angezeigt.
Wechseln Sie auf der R2-Homepage zu Kontodetails, und kopieren Sie die R2-Konto-ID.
Schritt 2: Erstellen der Speicheranmeldeinformationen
Melden Sie sich in Azure Databricks bei Ihrem Arbeitsbereich an.
Klicken Sie auf
Katalog.
Klicken Sie auf die Schaltfläche "Externe Daten > ", wechseln Sie zur Registerkarte " Anmeldeinformationen ", und wählen Sie " Anmeldeinformationen erstellen" aus.
Wählen Sie Speicheranmeldeinformationen aus.
Wählen Sie als AnmeldeinformationstypCloudflare-API-Token aus.
Geben Sie einen Namen für die Anmeldeinformationen und die folgenden Werte ein, die Sie beim Konfigurieren des R2-Buckets kopiert haben:
- Konto-ID
- Zugriffsschlüssel-ID
- Geheimer Zugriffsschlüssel
(Optional) Wenn Sie möchten, dass Benutzer schreibgeschützten Zugriff auf die externen Speicherorte haben, die diese Speicheranmeldeinformationen verwenden, wählen Sie unter Erweiterte Optionen die Option Schreibgeschützt aus.
Wählen Sie diese Option nicht aus, wenn Sie die Speicheranmeldeinformationen verwenden möchten, um auf den R2-Speicher zuzugreifen, den Sie als Replikationsziel verwenden, wie in Verwenden von Cloudflare R2-Replikaten oder Migrieren von Speicher R2 beschrieben.
Weitere Informationen finden Sie unter Markieren von Speicheranmeldeinformationen als schreibgeschützt.
Klicke auf Erstellen.
Kopieren Sie im Dialogfeld Erstellter Speicherberechtigungsnachweis die externe ID.
(Optional) Speicheranmeldedaten an spezifische Arbeitsbereiche binden.
Standardmäßig können Speicheranmeldeinformationen von allen privilegierten Benutzer*innen in jedem Arbeitsbereich verwendet werden, der dem Metastore zugeordnet ist. Wenn Sie den Zugriff nur aus bestimmten Arbeitsbereichen zulassen möchten, wechseln Sie zur Registerkarte Arbeitsbereiche, und weisen Sie Arbeitsbereiche zu. Siehe Zuweisen einer Speicherberechtigung zu bestimmten Arbeitsbereichen.
Schritt 3: Erstellen des externen Speicherorts
Um den externen Speicherort zu erstellen, verwenden Sie den Katalog-Explorer, wenn Sie lieber eine grafische Benutzeroberfläche oder SQL verwenden, wenn Sie die programmgesteuerte Erstellung bevorzugen.
Option 1: Erstellen eines externen Speicherorts mithilfe des Katalog-Explorers
Melden Sie sich bei einem Arbeitsbereich an, der dem Metastore angefügt ist.
Klicken Sie in der Randleiste auf das
Katalog.
Klicken Sie auf die Schaltfläche "Externe Daten > ", wechseln Sie zur Registerkarte "Externe Speicherorte ", und klicken Sie auf " Externe Position erstellen".
Klicken Sie im Dialogfeld " Neue externe Position erstellen " auf "Manuell" und dann auf "Weiter".
Sie können die AWS-Schnellstartoption nicht verwenden, um einen externen Speicherort für den DBFS-Stamm zu erstellen.
Geben Sie im Dialogfeld " Neuen externen Speicherort manuell erstellen" einen Namen für externe Speicherorte ein.
Wählen Sie unter "Speichertyp" R2 aus.
Geben Sie unter "URL" den Pfad ein. Beispiel:
r2://my-bucket@my-account-id.r2.cloudflarestorage.comWählen Sie unter "Speicheranmeldeinformationen" die Speicheranmeldeinformationen aus, die Zugriff auf den externen Speicherort gewähren.
(Optional) Wenn Sie möchten, dass Benutzer schreibgeschützten Zugriff auf den externen Speicherort haben, klicken Sie auf Erweiterte Optionen und wählen Sie Auf schreibgeschützte Verwendung beschränken. Sie können diese Einstellung später ändern. Weitere Informationen finden Sie unter Markieren eines externen Speicherorts als schreibgeschützt.
(Optional) Wenn der externe Speicherort für die Migration von Legacyworkloads vorgesehen ist, klicken Sie auf "Erweiterte Optionen" , und aktivieren Sie den Fallbackmodus.
Klicke auf Erstellen.
(Optional) Binden des externen Speicherorts an bestimmte Arbeitsbereiche.
Standardmäßig kann jeder privilegierte Benutzer den externen Speicherort in jedem Arbeitsbereich verwenden, der an den Metastore angefügt ist. Wenn Sie den Zugriff nur aus bestimmten Arbeitsbereichen zulassen möchten, wechseln Sie zur Registerkarte Arbeitsbereiche, und weisen Sie Arbeitsbereiche zu. Siehe Zuweisen eines externen Orts zu bestimmten Arbeitsbereichen.
Wechseln Sie zur Registerkarte "Berechtigungen ", um berechtigungen für die Verwendung des externen Speicherorts zu erteilen.
Wenn eine Person den externen Speicherort verwenden soll, müssen Sie Berechtigungen erteilen:
- Um den externen Speicherort als verwalteten Speicherort für einen Metastore, einen Katalog oder ein Schema hinzuzufügen, erteilen Sie die Berechtigung
CREATE MANAGED LOCATION. - Um externe Tabellen oder Volumes zu erstellen, erteilen Sie
CREATE EXTERNAL TABLEoderCREATE EXTERNAL VOLUME.
- Klicken Sie auf Erlauben.
- Wählen Sie im Dialogfeld Erteilen für
<external location>Benutzer*innen, Gruppen oder Dienstprinzipale im Feld Prinzipale aus, und wählen Sie dann die Berechtigungen aus, die Sie erteilen möchten. - Klicken Sie auf Erlauben.
- Um den externen Speicherort als verwalteten Speicherort für einen Metastore, einen Katalog oder ein Schema hinzuzufügen, erteilen Sie die Berechtigung
Option 2: Erstellen eines externen Speicherorts mithilfe von SQL
Führen Sie zum Erstellen eines externen Speicherorts mit SQL den folgenden Befehl in einem Notebook oder dem SQL-Abfrage-Editor aus. Ersetzen Sie die folgenden Platzhalterwerte.
-
<location-name>Quelle: : Ein Name für den externen Speicherort. Wennlocation_nameSonderzeichen wie Bindestriche (-) enthält, muss es von Backticks (` `) umgeben sein. Siehe Namen. -
<bucket-path>Quelle: : Der Pfad in Ihrem Cloud-Mandanten, auf den dieser externe Speicherort Zugriff gewährt. Beispiel:r2://my-bucket@my-account-id.r2.cloudflarestorage.com -
<storage-credential-name>: Der Name der Speicherzugangsdaten, die das Lesen aus dem Bucket und das Schreiben in den Bucket autorisieren. Wenn der Name der Speicheranmeldeinformationen Sonderzeichen enthält, z. B. Bindestriche (-), muss er von Backticks (` `) umgeben sein.
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];
Wenn Sie den Zugriff auf externe Speicherorte auf bestimmte Arbeitsbereiche in Ihrem Konto beschränken möchten, auch als Arbeitsbereichsbindung oder externe Standortisolation bezeichnet, lesen Sie "Zuweisen eines externen Speicherorts zu bestimmten Arbeitsbereichen".