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

Z tego samouczka dowiesz się, jak uzyskać dostęp do Azure Blob Storage z usługi Azure Databricks przy użyciu wpisu tajnego przechowywanego w usłudze Azure Key Vault.

Ten samouczek zawiera informacje na temat wykonywania następujących czynności:

  • Tworzenie konta magazynu i kontenera obiektów blob za pomocą interfejsu wiersza polecenia platformy Azure
  • Tworzenie Key Vault i ustawianie wpisu tajnego
  • Tworzenie obszaru roboczego usługi Azure Databricks i dodawanie Key Vault zakresu wpisów tajnych
  • Uzyskiwanie dostępu do kontenera obiektów blob z obszaru roboczego usługi Azure Databricks

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

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

Tworzenie konta magazynu i kontenera obiektów blob za pomocą interfejsu wiersza polecenia platformy Azure

Najpierw należy utworzyć konto magazynu ogólnego przeznaczenia, aby używać obiektów blob. Jeśli nie masz grupy zasobów, utwórz je przed uruchomieniem polecenia . 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

Dane wyjściowe konsoli powyższego polecenia. Identyfikator jest wyróżniony na zielono, aby zobaczyć użytkownika końcowego.

Aby utworzyć kontener do przekazania obiektu blob, musisz przypisać rolę Współautor danych obiektu blob usługi Storage do siebie. 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 magazynu możesz utworzyć kontener dla obiektu blob.

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

Po utworzeniu kontenera można przekazać obiekt blob (wybrany plik) do tego kontenera. W tym przykładzie zostanie przekazany plik .txt z elementem helloworld.

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 Key Vault i ustawianie wpisu tajnego

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

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

Dane wyjściowe powyższego polecenia w konsoli obrazów. Identyfikator i identyfikator vaultUri są wyróżnione kolorem zielonym, aby zobaczyć użytkownika.

Aby utworzyć wpis tajny, użyj następującego polecenia. Ustaw wartość wpisu tajnego na wartość key1 z konta magazynu.

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

Tworzenie obszaru roboczego usługi Azure Databricks i dodawanie Key Vault zakresu wpisów tajnych

Nie można ukończyć tej sekcji za pośrednictwem wiersza polecenia. Musisz uzyskać dostęp do Azure Portal, aby:

  1. Tworzenie zasobu usługi Azure Databricks
  2. Uruchamianie obszaru roboczego
  3. Tworzenie zakresu wpisów tajnych opartych na 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 kroki, musisz użyć obszaru roboczego usługi Azure Databricks:

  1. Tworzenie nowego klastra
  2. Tworzenie nowego notesu
  3. Wypełnij odpowiednie pola w skrycie języka Python
  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 Key Vault można odzyskać: