Öğ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
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
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
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
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:
- Azure Databricks kaynağınızı oluşturma
- Çalışma alanınızı başlatma
- 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:
- Yeni Küme Oluşturma
- Yeni Not Defteri Oluşturma
- Python betiğinde karşılık gelen alanları doldurma
- 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: