Oktatóanyag: Az Azure Blob Storage elérése az Azure Databricks és az Azure Key Vault használatával
Ebben az oktatóanyagban megtudhatja, hogyan férhet hozzá az Azure Blob Storage-hoz az Azure Databricksből az Azure Key Vaultban tárolt titkos kód használatával.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Tárfiók és blobtároló létrehozása az Azure CLI-vel
- Key Vault létrehozása és titkos kulcs beállítása
- Azure Databricks-munkaterület létrehozása és Key Vault titkos kulcs hatókörének hozzáadása
- Blobtároló elérése az Azure Databricks-munkaterületről
Előfeltételek
Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Az oktatóanyag megkezdése előtt telepítse az Azure CLI-t.
Tárfiók és blobtároló létrehozása az Azure CLI-vel
Először létre kell hoznia egy általános célú tárfiókot a blobok használatához. Ha nincs erőforráscsoportja, hozzon létre egyet a parancs futtatása előtt. Az alábbi parancs létrehozza és megjeleníti a tároló metaadatait. Másolja le az azonosítót.
az storage account create --name contosoblobstorage5 --resource-group contosoResourceGroup --location eastus --sku Standard_ZRS --encryption-services blob
Ahhoz, hogy létrehozhasson egy tárolót a blob feltöltéséhez, hozzá kell rendelnie a storage blobadatok közreműködői szerepkörét. Ebben a példában a szerepkör hozzá lesz rendelve a korábban létrehozott tárfiókhoz.
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
Most, hogy hozzárendelte a szerepkört a tárfiókhoz, létrehozhat egy tárolót a blob számára.
az storage container create --account-name contosoblobstorage5 --name contosocontainer5 --auth-mode login
A tároló létrehozása után feltölthet egy blobot (tetszőleges fájlt) az adott tárolóba. Ebben a példában a rendszer feltölt egy .txt fájlt a helloworld használatával.
az storage blob upload --account-name contosoblobstorage5 --container-name contosocontainer5 --name helloworld --file helloworld.txt --auth-mode login
Listázhatja a tárolóban lévő blobokat annak ellenőrzéséhez, hogy a tároló rendelkezik-e vele.
az storage blob list --account-name contosoblobstorage5 --container-name contosocontainer5 --output table --auth-mode login
Kérje le a tároló kulcs1 értékét az alábbi paranccsal. Másolja le az értéket.
az storage account keys list -g contosoResourceGroup5 -n contosoblobstorage5
Key Vault létrehozása és titkos kulcs beállítása
Az alábbi paranccsal fog létrehozni egy Key Vaultot. Ez a parancs a Key Vault metaadatait is megjeleníti. Másolja le az azonosítót és a tárolóurit.
az keyvault create --name contosoKeyVault10 --resource-group contosoResourceGroup5 --location eastus
A titkos kód létrehozásához használja az alábbi parancsot. Állítsa a titkos kód értékét a tárfiók 1 . kulcsértékére.
az keyvault secret set --vault-name contosoKeyVault10 --name storageKey --value "value of your key1"
Azure Databricks-munkaterület létrehozása és Key Vault titkos kulcs hatókörének hozzáadása
Ez a szakasz nem hajtható végre a parancssoron keresztül. A következőkhöz kell hozzáférnie az Azure Portalhoz :
- Az Azure Databricks-erőforrás létrehozása
- A munkaterület indítása
- Key Vault által támogatott titkos kulcs hatókörének létrehozása
Blobtároló elérése az Azure Databricks-munkaterületről
Ez a szakasz nem hajtható végre a parancssoron keresztül. Az Azure Databricks-munkaterületet a következőkhöz kell használnia:
- Új fürt létrehozása
- Új jegyzetfüzet létrehozása
- Töltse ki a megfelelő mezőket a Python-szkriptben
- A Python-szkript futtatása
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()
Következő lépések
Győződjön meg arról, hogy a Key Vault helyreállítható: