Kurz: Přístup ke službě Azure Blob Storage pomocí Azure Databricks a Azure Key Vaultu
V tomto kurzu se dozvíte, jak získat přístup ke službě Azure Blob Storage z Azure Databricks pomocí tajného kódu uloženého ve službě Azure Key Vault.
V tomto kurzu se naučíte:
- Vytvoření účtu úložiště a kontejneru objektů blob pomocí Azure CLI
- Vytvoření služby Key Vault a nastavení tajného kódu
- Vytvoření pracovního prostoru Azure Databricks a přidání oboru tajných kódů služby Key Vault
- Přístup ke kontejneru objektů blob z pracovního prostoru Azure Databricks
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Než začnete s tímto kurzem, nainstalujte Azure CLI.
Vytvoření účtu úložiště a kontejneru objektů blob pomocí Azure CLI
Abyste mohli používat objekty blob, musíte nejprve vytvořit účet úložiště pro obecné účely. Pokud skupinu prostředků nemáte, vytvořte ji před spuštěním příkazu. Následující příkaz vytvoří a zobrazí metadata kontejneru úložiště. Zkopírujte ID.
az storage account create --name contosoblobstorage5 --resource-group contosoResourceGroup --location eastus --sku Standard_ZRS --encryption-services blob
Než budete moct vytvořit kontejner pro nahrání objektu blob, musíte sami přiřadit roli Přispěvatel dat v objektech blob služby Storage. V tomto příkladu se role přiřadí k účtu úložiště, který jste vytvořili dříve.
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
Teď, když jste roli přiřadili k účtu úložiště, můžete pro objekt blob vytvořit kontejner.
az storage container create --account-name contosoblobstorage5 --name contosocontainer5 --auth-mode login
Po vytvoření kontejneru můžete do tohoto kontejneru nahrát objekt blob (soubor podle vašeho výběru). V tomto příkladu se nahraje soubor .txt s helloworld.
az storage blob upload --account-name contosoblobstorage5 --container-name contosocontainer5 --name helloworld --file helloworld.txt --auth-mode login
Vypište objekty blob v kontejneru a ověřte, že ho kontejner obsahuje.
az storage blob list --account-name contosoblobstorage5 --container-name contosocontainer5 --output table --auth-mode login
Pomocí následujícího příkazu získejte hodnotu key1 kontejneru úložiště. Zkopírujte hodnotu dolů.
az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5
Vytvoření služby Key Vault a nastavení tajného kódu
Key Vault vytvoříte pomocí následujícího příkazu. Tento příkaz zobrazí také metadata služby Key Vault. Zkopírujte ID a identifikátor URI trezoru.
az keyvault create --name contosoKeyVault10 --resource-group contosoResourceGroup5 --location eastus
K vytvoření tajného kódu použijte následující příkaz. Nastavte hodnotu tajného klíče na hodnotu klíče1 z účtu úložiště.
az keyvault secret set --vault-name contosoKeyVault10 --name storageKey --value "value of your key1"
Vytvoření pracovního prostoru Azure Databricks a přidání oboru tajných kódů služby Key Vault
Tento oddíl nejde dokončit přes příkazový řádek. Budete muset získat přístup k webu Azure Portal , abyste mohli:
- Vytvoření prostředku Azure Databricks
- Spuštění pracovního prostoru
- Vytvoření oboru tajných kódů založených na key Vaultu
Přístup ke kontejneru objektů blob z pracovního prostoru Azure Databricks
Tento oddíl nejde dokončit přes příkazový řádek. Pracovní prostor Azure Databricks budete muset použít k:
- Vytvoření nového clusteru
- Vytvoření nového poznámkového bloku
- Vyplňte odpovídající pole ve skriptu Pythonu.
- Spuštění skriptu Pythonu
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()
Další kroky
Ujistěte se, že je služba Key Vault obnovitelná: