Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
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
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
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
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:
- Tworzenie zasobu usługi Azure Databricks
- Uruchom swój obszar roboczy
- 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:
- Tworzenie nowego klastra
- Tworzenie nowego notesu
- Wypełnij odpowiednie pola w skrypcie Pythona
- 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: