Udostępnij przez


Samouczek: uzyskiwanie dostępu do usługi Azure Blob Storage przy użyciu usług Azure Databricks i Azure Key Vault

W tym samouczku nauczysz się, jak uzyskać dostęp do Azure Blob Storage z Azure Databricks przy użyciu tajnego elementu przechowywanego w Azure Key Vault.

Z tego samouczka dowiesz się, jak wykonywać następujące działania:

  • Tworzenie konta magazynu i kontenera obiektów blob przy użyciu interfejsu wiersza polecenia platformy Azure
  • Tworzenie usługi Key Vault i ustawianie wpisu tajnego
  • Utwórz obszar roboczy Azure Databricks i dodaj zakres sekretów usługi Key Vault
  • Uzyskiwanie dostępu do kontenera obiektów blob z obszaru roboczego usługi Azure Databricks

Wymagania wstępne

Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.

Przed rozpoczęciem tego samouczka zainstaluj interfejs wiersza polecenia platformy Azure.

Tworzenie konta magazynu i kontenera obiektów blob przy użyciu interfejsu wiersza polecenia platformy Azure

Najpierw należy utworzyć konto magazynu ogólnego przeznaczenia, aby używać blobów. Jeśli nie masz grupy zasobów, przed uruchomieniem polecenia utwórz grupę zasobów. Następujące polecenie tworzy i wyświetla metadane kontenera magazynu. Skopiuj identyfikator.

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

Wyjście konsoli dla powyższego polecenia. Identyfikator jest wyróżniony zielonym kolorem, aby użytkownik końcowy mógł go łatwo zobaczyć.

Przed utworzeniem kontenera, aby przesłać obiekt blob, należy przypisać rolę Współautor danych obiektu blob usługi Storage sobie. W tym przykładzie rola zostanie przypisana do utworzonego wcześniej konta magazynu.

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

Po przypisaniu roli do konta magazynowego, możesz utworzyć kontener dla obiektu blob.

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

Po utworzeniu kontenera można przesłać obiekt blob (wybrany plik) do tego kontenera. W tym przykładzie plik .txt z zawartością "helloworld" jest przesyłany.

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

Wyświetl listę obiektów blob w kontenerze, aby sprawdzić, czy kontener go zawiera.

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

Dane wyjściowe konsoli powyższego polecenia. Wyświetla on plik, który został właśnie zapisany w kontenerze.

Pobierz wartość key1 kontenera magazynu przy użyciu następującego polecenia. Skopiuj wartość w dół.

az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5

Dane wyjściowe konsoli powyższego polecenia. Wartość klucza key1 jest wyróżniona w zielonym polu.

Tworzenie usługi Key Vault i ustawianie wpisu tajnego

Utworzysz usługę Key Vault przy użyciu następującego polecenia. To polecenie wyświetli również metadane usługi Key Vault. Skopiuj ID i vaultUri.

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

Dane wyjściowe polecenia z konsoli. Identyfikator i vaultUri są wyróżnione kolorem zielonym, aby użytkownik mógł je zobaczyć.

Aby utworzyć wpis tajny, użyj następującego polecenia. Ustaw wartość tajemnicy na wartość key1 z twojego konta magazynowego.

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

Utwórz obszar roboczy Azure Databricks i dodaj zakres sekretów usługi Key Vault

Nie można ukończyć tej sekcji za pośrednictwem wiersza polecenia. Aby uzyskać dostęp do witryny Azure Portal , musisz wykonać następujące kroki:

  1. Tworzenie zasobu usługi Azure Databricks
  2. Uruchom swój obszar roboczy
  3. Utwórz tajny zakres z obsługą Key Vault

Uzyskiwanie dostępu do kontenera obiektów blob z obszaru roboczego usługi Azure Databricks

Nie można ukończyć tej sekcji za pośrednictwem wiersza polecenia. Aby wykonać następujące zadania, musisz użyć obszaru roboczego usługi Azure Databricks:

  1. Tworzenie nowego klastra
  2. Tworzenie nowego notesu
  3. Wypełnij odpowiednie pola w skrypcie Pythona
  4. Uruchamianie skryptu języka 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()

Następne kroki

Upewnij się, że usługa Key Vault jest odzyskiwalna: