Zelfstudie: Toegang tot Azure Blob Storage met behulp van Azure Databricks en Azure Key Vault
In deze zelfstudie wordt beschreven hoe u toegang tot Azure Blob Storage krijgt vanuit Azure Databricks met behulp van een geheim dat is opgeslagen in Azure Key Vault.
In deze zelfstudie leert u het volgende:
- Een opslagaccount en blobcontainer maken met Azure CLI
- Een sleutelkluis maken en een geheim instellen
- Een Azure Databricks-werkruimte maken en het bereik voor een Key Vault-geheim toevoegen
- Toegang tot uw blobcontainer vanuit de Azure Databricks-werkruimte
Vereisten
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Voordat u met deze zelfstudie begint, moet u Azure CLI installeren.
Een opslagaccount en blobcontainer maken met Azure CLI
U moet eerst een opslagaccount voor algemeen gebruik maken om blobs te kunnen gebruiken. Als u geen resourcegroep hebt, maakt u er een voordat u de opdracht uitvoert. Met de volgende opdracht worden de metagegevens van de opslagcontainer gemaakt en weergegeven. Kopieer de id.
az storage account create --name contosoblobstorage5 --resource-group contosoResourceGroup --location eastus --sku Standard_ZRS --encryption-services blob
Voordat u een container kunt maken om daar de blob naartoe te uploaden, moet u de rol Storage Blob Data Contributor aan uzelf toewijzen. In dit voorbeeld wordt de rol toegewezen aan het opslagaccount dat u eerder hebt gemaakt.
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
Nu u de rol aan het opslagaccount hebt toegewezen, kunt u een container voor uw blob maken.
az storage container create --account-name contosoblobstorage5 --name contosocontainer5 --auth-mode login
Zodra de container is gemaakt, kunt u een blob (bestand naar keuze) naar die container uploaden. In dit voorbeeld wordt een txt-bestand met helloworld geĆ¼pload.
az storage blob upload --account-name contosoblobstorage5 --container-name contosocontainer5 --name helloworld --file helloworld.txt --auth-mode login
Geef de blobs in de container weer om te controleren of de container dat bestand bevat.
az storage blob list --account-name contosoblobstorage5 --container-name contosocontainer5 --output table --auth-mode login
Gebruik de volgende opdracht om de waarde voor key1 van uw opslagcontainer op te halen. Kopieer de waarde.
az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5
Een sleutelkluis maken en een geheim instellen
U maakt een sleutelkluis met behulp van de volgende opdracht. Met deze opdracht worden ook de metagegevens van de sleutelkluis weergegeven. Kopieer de id en vaultUri.
az keyvault create --name contosoKeyVault10 --resource-group contosoResourceGroup5 --location eastus
Gebruik de volgende opdracht om het geheim te maken. Stel de waarde van het geheim in op de key1-waarde uit uw opslagaccount.
az keyvault secret set --vault-name contosoKeyVault10 --name storageKey --value "value of your key1"
Een Azure Databricks-werkruimte maken en het bereik voor een Key Vault-geheim toevoegen
Deze sectie kan niet worden uitgevoerd via de opdrachtregel. U hebt toegang tot de Azure-portal nodig om het volgende te doen:
- Uw Azure Databricks-resource maken
- Uw werkruimte starten
- Een geheim bereik voor Azure Key Vault-back-ups maken
Toegang tot uw blobcontainer vanuit de Azure Databricks-werkruimte
Deze sectie kan niet worden uitgevoerd via de opdrachtregel. U moet de Azure Databricks-werkruimte gebruiken voor het volgende:
- Een nieuw cluster maken.
- Een nieuwe notebook maken
- Overeenkomende velden in het Python-script invullen
- Het Python-script uitvoeren
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()
Volgende stappen
Ervoor zorgen dat de Key Vault kan worden hersteld: