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

Konsolutdata från kommandot ovan. ID är markerat i grönt för slutanvändaren att se.

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

Konsolutdata från kommandot ovan. Den visar filen som just lagrades i containern.

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

Konsolutdata från kommandot ovan. Värdet för key1 är markerat i en grön ruta.

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

Bildkonsolens utdata från kommandot ovan. ID och vaultUri är båda markerade i grönt för användaren att se.

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:

  1. Skapa din Azure Databricks-resurs
  2. Starta din arbetsyta
  3. 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:

  1. Skapa ett nytt kluster
  2. Skapa en ny anteckningsbok
  3. Fyll i motsvarande fält i Python-skriptet
  4. 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: