Aracılığıyla paylaş


Öğretici: Azure Databricks ve Azure Key Vault kullanarak erişim Azure Blob Depolama

Bu öğreticide, Azure Key Vault'ta depolanan bir gizli diziyi kullanarak Azure Databricks'ten Azure Blob Depolama erişmeyi öğreneceksiniz.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Azure CLI ile depolama hesabı ve blob kapsayıcısı oluşturma
  • Key Vault oluşturma ve gizli dizi ayarlama
  • Azure Databricks çalışma alanı oluşturma ve Key Vault gizli dizi kapsamı ekleme
  • Azure Databricks çalışma alanından blob kapsayıcınıza erişme

Önkoşullar

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Bu öğreticiye başlamadan önce Azure CLI'yı yükleyin.

Azure CLI ile depolama hesabı ve blob kapsayıcısı oluşturma

Blobları kullanmak için önce genel amaçlı bir depolama hesabı oluşturmanız gerekir. Kaynak grubunuz yoksa, komutu çalıştırmadan önce bir kaynak grubu oluşturun. Aşağıdaki komut, depolama kapsayıcısının meta verilerini oluşturur ve görüntüler. Kimliği kopyalayın.

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

Yukarıdaki komutun konsol çıkışı. Kimlik, son kullanıcının görmesi için yeşil renkle vurgulanır.

Blobu karşıya yükleyecek bir kapsayıcı oluşturabilmeniz için önce Depolama Blob Verileri Katkıda Bulunanı rolünü kendinize atamanız gerekir. Bu örnekte rol, daha önce oluşturduğunuz depolama hesabına atanır.

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

Rolü depolama hesabına atadığınıza göre blobunuz için bir kapsayıcı oluşturabilirsiniz.

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

Kapsayıcı oluşturulduktan sonra, bu kapsayıcıya bir blob (istediğiniz dosya) yükleyebilirsiniz. Bu örnekte helloworld içeren bir .txt dosyası karşıya yüklenir.

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

Kapsayıcıda olduğunu doğrulamak için kapsayıcıdaki blobları listeleyin.

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

Yukarıdaki komutun konsol çıkışı. Kapsayıcıda yeni depolanan dosyayı görüntüler.

Aşağıdaki komutu kullanarak depolama kapsayıcınızın key1 değerini alın. Değeri aşağı kopyalayın.

az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5

Yukarıdaki komutun konsol çıkışı. key1 değeri yeşil bir kutuda vurgulanır.

Key Vault oluşturma ve gizli dizi ayarlama

Aşağıdaki komutu kullanarak bir Key Vault oluşturacaksınız. Bu komut, Key Vault'un meta verilerini de görüntüler. Id ve vaultUri'yi kopyalayın.

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

GörselYukarıdaki komutun konsol çıkışı. Kullanıcının görmesi için hem kimlik hem de vaultUri yeşil renkle vurgulanır.

Gizli diziyi oluşturmak için aşağıdaki komutu kullanın. Depolama hesabınızdaki anahtar1 değerine gizli dizi değerini ayarlayın.

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

Azure Databricks çalışma alanı oluşturma ve Key Vault gizli dizi kapsamı ekleme

Bu bölüm komut satırı aracılığıyla tamamlanamaz. Aşağıdakiler için Azure portalına erişmeniz gerekir:

  1. Azure Databricks kaynağınızı oluşturma
  2. Çalışma alanınızı başlatma
  3. Key Vault destekli gizli dizi kapsamı oluşturma

Azure Databricks çalışma alanından blob kapsayıcınıza erişme

Bu bölüm komut satırı aracılığıyla tamamlanamaz. Aşağıdakileri yapmak için Azure Databricks çalışma alanını kullanmanız gerekir:

  1. Yeni Küme Oluşturma
  2. Yeni Not Defteri Oluşturma
  3. Python betiğinde karşılık gelen alanları doldurma
  4. Python betiğini çalıştırma
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()

Sonraki adımlar

Key Vault'unuzun kurtarılabilir olduğundan emin olun: