Udostępnij za pośrednictwem


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

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

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • 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
  • Tworzenie obszaru roboczego usługi Azure Databricks i dodawanie zakresu wpisów tajnych 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 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 przy użyciu 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, 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

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

Przed utworzeniem kontenera w celu przekazania obiektu blob do należy 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 funkcją 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 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 identyfikator i identyfikator vaultUri.

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

ObrazDane wyjściowe konsoli powyższego polecenia. 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 zakresu wpisów tajnych 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. Uruchamianie obszaru roboczego
  3. Tworzenie zakresu wpisów tajnych opartych na usłudze 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 skry 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 usługa Key Vault jest odzyskiwalna: