Tutorial: Akses Azure Blob Storage menggunakan Azure Databricks dan Azure Key Vault

Dalam tutorial ini, Anda akan mempelajari cara mengakses Azure Blob Storage dari Azure Databricks menggunakan rahasia yang disimpan di Azure Key Vault.

Dalam tutorial ini, Anda akan belajar cara:

  • Membuat akun penyimpanan dan kontainer blob dengan antarmuka tingkat panggilan Azure
  • Membuat Key Vault dan mengatur rahasia
  • Membuat ruang kerja Azure Databricks dan menambahkan cakupan rahasia Key Vault
  • Mengakses kontainer blob Anda dari ruang kerja Azure Databricks

Prasyarat

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Sebelum Anda memulai tutorial ini, pasang antarmuka tingkat panggilan Azure.

Membuat akun penyimpanan dan kontainer blob dengan antarmuka tingkat panggilan Azure

Anda harus membuat akun penyimpanan tujuan umum terlebih dahulu untuk menggunakan blob. Jika Anda tidak memiliki grup sumber daya, buat grup sebelum menjalankan perintah. Perintah berikut membuat dan menampilkan metadata kontainer penyimpanan. Salin ID.

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

Output konsol dari perintah di atas. ID disorot dengan warna hijau agar dilihat pengguna akhir.

Sebelum dapat membuat kontainer untuk mengunggah blob ke dalamnya, Anda harus menetapkan peran Kontributor Data Blob Penyimpanan kepada diri Anda. Untuk contoh ini, peran akan ditetapkan ke akun penyimpanan yang telah Anda buat sebelumnya.

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

Sekarang setelah menetapkan peran ke akun penyimpanan, Anda dapat membuat kontainer untuk blob.

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

Setelah kontainer dibuat, Anda dapat mengunggah blob (file pilihan Anda) ke kontainer tersebut. Dalam contoh ini, file .txt dengan helloworld diunggah.

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

Cantumkan blob dalam kontainer untuk memverifikasi bahwa kontainer memilikinya.

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

Output konsol dari perintah di atas. Output ini menampilkan file yang baru saja disimpan di kontainer.

Dapatkan nilai key1 dari kontainer penyimpanan Anda menggunakan perintah berikut. Salin nilai.

az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5

Output konsol dari perintah di atas. Nilai key1 disorot dengan kotak hijau.

Membuat Key Vault dan mengatur rahasia

Anda akan membuat Key Vault menggunakan perintah berikut. Perintah ini juga akan menampilkan metadata Key Vault. Salin ID dan vaultUri.

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

GambarOutput konsol dari perintah di atas. ID dan vaultUri disorot hijau agar dapat terlihat oleh pengguna.

Untuk membuat rahasia, gunakan perintah berikut. Atur nilai rahasia ke nilai key1 dari akun penyimpanan Anda.

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

Membuat ruang kerja Azure Databricks dan menambahkan cakupan rahasia Key Vault

Bagian ini tidak dapat diselesaikan melalui baris perintah. Anda harus mengakses portal Microsoft Azure untuk:

  1. Membuat sumber daya Azure Databricks
  2. Meluncurkan ruang kerja
  3. Membuat cakupan rahasia yang dicadangkan oleh Key Vault

Mengakses kontainer blob Anda dari ruang kerja Azure Databricks

Bagian ini tidak dapat diselesaikan melalui baris perintah. Anda harus menggunakan ruang kerja Azure Databricks untuk:

  1. Membuat Kluster Baru
  2. Membuat Buku Catatan Baru
  3. Mengisi bidang terkait dalam skrip Python
  4. Menjalankan skrip Python
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()

Langkah berikutnya

Pastikan Key Vault Anda dapat dipulihkan: