Självstudie: Komma åt Azure Blob Storage med Hjälp av Azure Databricks och Azure Key Vault
I den här självstudien får du lära dig hur du kommer åt Azure Blob Storage från Azure Databricks med hjälp av en hemlighet som lagras i Azure Key Vault.
I den här guiden får du lära dig att:
- Skapa ett lagringskonto och en blobcontainer med Azure CLI
- Skapa en Key Vault och ange en hemlighet
- Skapa en Azure Databricks-arbetsyta och lägg till Key Vault hemlighetsomfång
- Få åtkomst till din blobcontainer från Azure Databricks-arbetsytan
Krav
Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Innan du påbörjar den här självstudien installerar du Azure CLI.
Skapa ett lagringskonto och en blobcontainer med Azure CLI
Du måste först skapa ett allmänt lagringskonto för att använda blobar. Om du inte har någon resursgrupp skapar du en innan du kör kommandot . Följande kommando skapar och visar metadata för lagringscontainern. Kopiera ned ID:t.
az storage account create --name contosoblobstorage5 --resource-group contosoResourceGroup --location eastus --sku Standard_ZRS --encryption-services blob
Innan du kan skapa en container att ladda upp bloben till måste du tilldela rollen Storage Blob Data-deltagare till dig själv. I det här exemplet tilldelas rollen till det lagringskonto som du skapade tidigare.
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 när du har tilldelat rollen till lagringskontot kan du skapa en container för din blob.
az storage container create --account-name contosoblobstorage5 --name contosocontainer5 --auth-mode login
När containern har skapats kan du ladda upp en blob (valfri fil) till containern. I det här exemplet laddas en .txt fil med helloworld upp.
az storage blob upload --account-name contosoblobstorage5 --container-name contosocontainer5 --name helloworld --file helloworld.txt --auth-mode login
Visa en lista över blobarna i containern för att verifiera att containern har den.
az storage blob list --account-name contosoblobstorage5 --container-name contosocontainer5 --output table --auth-mode login
Hämta värdet för key1 för lagringscontainern med hjälp av följande kommando. Kopiera ned värdet.
az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5
Skapa en Key Vault och ange en hemlighet
Du skapar en Key Vault med hjälp av följande kommando. Det här kommandot visar även metadata för Key Vault. Kopiera ned ID och vaultUri.
az keyvault create --name contosoKeyVault10 --resource-group contosoResourceGroup5 --location eastus
Använd följande kommando för att skapa hemligheten. Ange värdet för hemligheten till värdet key1 från ditt lagringskonto.
az keyvault secret set --vault-name contosoKeyVault10 --name storageKey --value "value of your key1"
Skapa en Azure Databricks-arbetsyta och lägg till Key Vault hemlighetsomfång
Det här avsnittet kan inte slutföras via kommandoraden. Du måste komma åt Azure Portal för att:
- Skapa din Azure Databricks-resurs
- Starta din arbetsyta
- Skapa ett Key Vault hemlighetsomfång som stöds
Få åtkomst till din blobcontainer från Azure Databricks-arbetsytan
Det här avsnittet kan inte slutföras via kommandoraden. Du måste använda Azure Databricks-arbetsytan för att:
- Skapa ett nytt kluster
- Skapa en ny anteckningsbok
- Fyll i motsvarande fält i Python-skriptet
- Kör Python-skriptet
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ästa steg
Kontrollera att din Key Vault kan återställas: