Tutorial: Zugreifen auf Azure Blob Storage über Azure Databricks und Azure Key Vault

In diesem Tutorial erfahren Sie, wie Sie unter Verwendung eines in Azure Key Vault gespeicherten Geheimnisses von Azure Databricks aus auf Azure Blob Storage zugreifen.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen eines Speicherkontos und eines Blobcontainers mithilfe der Azure-Befehlszeilenschnittstelle
  • Erstellen einer Key Vault-Instanz und Festlegen eines Geheimnisses
  • Erstellen eines Azure Databricks-Arbeitsbereichs und Hinzufügen eines Key Vault-Geheimnisbereichs
  • Zugreifen auf Ihren Blobcontainer über den Azure Databricks-Arbeitsbereich

Voraussetzungen

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Installieren Sie die Azure CLI, bevor Sie mit diesem Tutorial beginnen.

Erstellen eines Speicherkontos und eines Blobcontainers mithilfe der Azure-Befehlszeilenschnittstelle

Erstellen Sie für die Verwendung von Blobs zunächst ein universelles Speicherkonto. Sollten Sie über keine Ressourcengruppe verfügen, erstellen Sie eine, bevor Sie den Befehl ausführen. Mit dem folgenden Befehl werden die Metadaten des Speichercontainers erstellt und angezeigt. Notieren Sie sich die ID.

az storage account create --name contosoblobstorage5 --resource-group contosoResourceGroup --location eastus --sku Standard_ZRS --encryption-services blob

Konsolenausgabe des obigen Befehls. Die ID ist für den Endbenutzer grün hervorgehoben.

Weisen Sie sich selbst die Rolle Mitwirkender an Storage-Blobdaten zu, um einen Container zum Hochladen des Blobs erstellen zu können. In diesem Beispiel wird die Rolle dem weiter oben erstellten Speicherkonto zugewiesen.

az role assignment create --role "Storage Blob Data Contributor" --assignee t-trtr@microsoft.com --scope "/subscriptions/{subscription-id}/resourceGroups/contosoResourceGroup5/providers/Microsoft.Storage/storageAccounts/contosoblobstorage5

Nachdem Sie dem Speicherkonto die Rolle zugewiesen haben, können Sie einen Container für Ihr Blob erstellen.

az storage container create --account-name contosoblobstorage5 --name contosocontainer5 --auth-mode login

Nach Erstellung des Containers kann ein Blob (Datei Ihrer Wahl) in diesen Container hochgeladen werden. In diesem Beispiel wird eine TXT-Datei mit „helloworld“ hochgeladen.

az storage blob upload --account-name contosoblobstorage5 --container-name contosocontainer5 --name helloworld --file helloworld.txt --auth-mode login

Listen Sie die Blobs im Container auf, um sich zu vergewissern, dass es im Container enthalten ist.

az storage blob list --account-name contosoblobstorage5 --container-name contosocontainer5 --output table --auth-mode login

Konsolenausgabe des obigen Befehls. Sie enthält die Datei, die soeben im Container gespeichert wurde.

Rufen Sie mithilfe des folgenden Befehls den Wert von key1 für Ihren Speichercontainer ab. Notieren Sie sich den Wert.

az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5

Konsolenausgabe des obigen Befehls. Der Wert von „key1“ ist durch ein grünes Kästchen hervorgehoben.

Erstellen einer Key Vault-Instanz und Festlegen eines Geheimnisses

Der folgende Befehl dient zum Erstellen einer Key Vault-Instanz. Durch diesen Befehl werden auch die Metadaten der Key Vault-Instanz angezeigt. Notieren Sie sich die Werte für ID und vaultUri.

az keyvault create --name contosoKeyVault10 --resource-group contosoResourceGroup5 --location eastus

AbbildungKonsolenausgabe des obigen Befehls. ID und Tresor-URI sind für den Benutzer jeweils grün hervorgehoben.

Verwenden Sie den folgenden Befehl, um das Geheimnis zu erstellen. Legen Sie den Wert des Geheimnisses auf den Wert von key1 aus Ihrem Speicherkonto fest.

az keyvault secret set --vault-name contosoKeyVault10 --name storageKey --value "value of your key1"

Erstellen eines Azure Databricks-Arbeitsbereichs und Hinzufügen eines Key Vault-Geheimnisbereichs

Die Schritte in diesem Abschnitt können nicht über die Befehlszeile durchgeführt werden. Für Folgendes muss das Azure-Portal verwendet werden:

  1. Erstellen Ihrer Azure Databricks-Ressource
  2. Starten Ihres Arbeitsbereichs
  3. Erstellen eines Key Vault-basierten Geheimnisbereichs

Zugreifen auf Ihren Blobcontainer über den Azure Databricks-Arbeitsbereich

Die Schritte in diesem Abschnitt können nicht über die Befehlszeile durchgeführt werden. Für Folgendes muss der Azure Databricks-Arbeitsbereich verwendet werden:

  1. Erstellen eines neuen Clusters
  2. Erstellen eines neuen Notebooks
  3. Ausfüllen der entsprechenden Felder im Python-Skript
  4. Ausführen des Python-Skripts
dbutils.fs.mount(
source = "wasbs://<your-container-name>@<your-storage-account-name>.blob.core.windows.net",
mount_point = "/mnt/<mount-name>",
extra_configs = {"<conf-key>":dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")})

df = spark.read.text("/mnt/<mount-name>/<file-name>")

df.show()

Nächste Schritte

Stellen Sie sicher, dass Ihre Key Vault-Instanz wiederherstellbar ist: