Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém startu se naučíte používat prostředek Microsoft Planety Computer Pro GeoCatalog ve službě Azure Batch ke zpracování geoprostorových dat ve velkém měřítku.
Azure Batch je cloudová služba pro plánování úloh, která umožňuje spouštět rozsáhlé paralelní a vysokovýkonné výpočetní úlohy (HPC). Kombinací služby Azure Batch s Microsoft Planetary Computer Pro můžete:
- Paralelní zpracování velkých objemů geoprostorových dat napříč několika výpočetními uzly
- Zabezpečené ověřování v rozhraních GEOCatalog API s využitím spravovaných identit
- Škálování výpočetního výkonu nahoru nebo dolů na základě požadavků na úlohy
- Automatizace geoprostorových datových kanálů bez správy infrastruktury
Tento rychlý start ukazuje, jak nastavit fond Batch se spravovanou identitou přiřazenou uživatelem, nakonfigurovat oprávnění pro přístup k geoCatalogu a spouštět úlohy, které se dotazují na rozhraní STAC API.
Návod
Přehled možností vývoje aplikací pomocí aplikace Microsoft Planety Computer Pro najdete v tématu Připojení a vytváření aplikací s vašimi daty.
Požadavky
Než začnete, ujistěte se, že splňujete následující požadavky pro dokončení tohoto rychlého startu:
- Účet Azure s aktivním předplatným. Použijte odkaz Vytvořit účet zdarma.
- Zdroj Microsoft Planetary Computer Pro GeoCatalog.
Počítač s Linuxem s nainstalovanými následujícími nástroji:
- Azure CLI
-
perlbalíček.
Vytvoření účtu služby Batch
Vytvořte skupinu prostředků:
az group create \
--name spatiobatchdemo \
--location uksouth
Vytvoření účtu úložiště:
az storage account create \
--resource-group spatiobatchdemo \
--name spatiobatchstorage \
--location uksouth \
--sku Standard_LRS
Přiřaďte účet úložiště aktuálnímu uživateli: Storage Blob Data Contributor
az role assignment create \
--role "Storage Blob Data Contributor" \
--assignee $(az account show --query user.name -o tsv) \
--scope $(az storage account show --name spatiobatchstorage --resource-group spatiobatchdemo --query id -o tsv)
Vytvoření účtu Batch:
az batch account create \
--name spatiobatch \
--storage-account spatiobatchstorage \
--resource-group spatiobatchdemo \
--location uksouth
Důležité
Ujistěte se, že máte dostatečnou kvótu pro vytvoření skupiny počítačových uzlů. Pokud nemáte dostatečnou kvótu, můžete požádat o navýšení podle pokynů v dokumentaci k kvótám a omezením služby Azure Batch .
Přihlaste se k novému účtu Batch spuštěním následujícího příkazu:
az batch account login \
--name spatiobatch \
--resource-group spatiobatchdemo \
--shared-key-auth
Po ověření vašeho účtu ve službě Batch použijí následující az batch příkazy v této relaci účet Batch, který jste vytvořili.
Vytvořit uživatelsky přiřazenou spravovanou identitu:
az identity create \
--name spatiobatchidentity \
--resource-group spatiobatchdemo
Vytvořte fond výpočetních uzlů pomocí webu Azure Portal:
- Na webu Azure Portal přejděte na svůj účet Batch a vyberte Fondy:

- Vyberte + Přidat a vytvořte nový fond a jako identitu fondu vyberte Uživatelem přiřazený :

- Vyberte uživatelem přiřazenou spravovanou identitu, kterou jste vytvořili dříve:

- Vyberte upřednostňovaný operační systém a velikost virtuálního počítače. V této ukázce používáme Ubuntu Server 20.04 LTS:

- Povolte spustit úlohu, nastavte následující příkazový řádek:
bash -c "apt-get update && apt-get install jq python3-pip -y && curl -sL https://aka.ms/InstallAzureCLIDeb | bash"a nastavte úroveň zvýšení oprávnění na automatického uživatele fondu, Správce:
- Vyberte OK a vytvořte fond.
Přiřazení oprávnění ke spravované identitě
Musíte poskytnout spravované identitě přístup k GeoCatalogu. Přejděte na GeoCatalog, vyberte řízení přístupu (IAM) a vyberte Přidat přiřazení role:
Vyberte v závislosti na vašich potřebách příslušnou roli, GeoCatalog Administrator nebo GeoCatalog Readervyberte Další:
Vyberte spravovanou identitu, kterou jste vytvořili, a pak vyberte Zkontrolovat a přiřadit.
Příprava úlohy Batch
Vytvořte kontejner v účtu úložiště:
az storage container create \
--name scripts \
--account-name spatiobatchstorage
Nahrajte skript do kontejneru:
az storage blob upload \
--container-name scripts \
--file src/task.py \
--name task.py \
--account-name spatiobatchstorage
Spustit úlohy Batch
V tomto rychlém startu jsou dva příklady: skript Pythonu a skript Bash. K vytvoření úlohy můžete použít některý z nich.
Úloha skriptu Pythonu
Pokud chcete spustit úlohu skriptu Pythonu, spusťte následující příkazy:
geocatalog_url="<geocatalog url>"
token_expiration=$(date -u -d "30 minutes" "+%Y-%m-%dT%H:%M:%SZ")
python_task_url=$(az storage blob generate-sas --account-name spatiobatchstorage --container-name scripts --name task.py --permissions r --expiry $token_expiration --auth-mode login --as-user --full-uri -o tsv)
cat src/pythonjob.json | perl -pe "s,##PYTHON_TASK_URL##,$python_task_url,g" | perl -pe "s,##GEOCATALOG_URL##,$geocatalog_url,g" | az batch job create --json-file /dev/stdin
Úloha Pythonu spustí následující skript Pythonu:
import json
from os import environ
import requests
from azure.identity import DefaultAzureCredential
MPCPRO_APP_ID = "https://geocatalog.spatio.azure.com"
credential = DefaultAzureCredential()
access_token = credential.get_token(f"{MPCPRO_APP_ID}/.default")
geocatalog_url = environ["GEOCATALOG_URL"]
response = requests.get(
f"{geocatalog_url}/stac/collections",
headers={"Authorization": "Bearer " + access_token.token},
params={"api-version": "2025-04-30-preview"},
)
print(json.dumps(response.json(), indent=2))
Pomocí DefaultAzureCredential se provádí ověření s využitím spravované identity a načtení kolekcí z GeoCatalogu. Pokud chcete získat výsledky úlohy, spusťte následující příkaz:
az batch task file download \
--job-id pythonjob1 \
--task-id task1 \
--file-path "stdout.txt" \
--destination /dev/stdout
Úloha Bash
Pokud chcete spustit úlohu skriptu Bash, spusťte následující příkazy:
geocatalog_url="<geocatalog url>"
cat src/bashjob.json | perl -pe "s,##GEOCATALOG_URL##,$geocatalog_url,g" | az batch job create --json-file /dev/stdin
Úloha Bash spustí následující skript Bash:
az login --identity --allow-no-subscriptions > /dev/null
token=$(az account get-access-token --resource https://geocatalog.spatio.azure.com --query accessToken --output tsv)
curl --header \"Authorization: Bearer $token\" $GEOCATALOG_URL/stac/collections | jq
Pomocí az login --identity se provádí ověření s využitím spravované identity a načtení kolekcí z GeoCatalogu. Pokud chcete získat výsledky úlohy, spusťte následující příkaz:
az batch task file download \
--job-id bashjob1 \
--task-id task1 \
--file-path "stdout.txt" \
--destination /dev/stdout
Související obsah
- Připojení a vytváření aplikací s vašimi daty
- Konfigurace ověřování aplikací pro Microsoft Planety Computer Pro
- Vytvoření webové aplikace pomocí Microsoft Planety Computer Pro
- Použijte Microsoft Planetary Computer k prozkoumání
- Správa přístupu k Microsoft Planetary Computer Pro
- Konfigurace spravovaných identit ve fondech služby Batch
- Zkopírujte aplikace a data do uzlů fondu
- Nasazení aplikací do výpočetních uzlů pomocí balíčků aplikací Batch
- Vytváření a používání souborů prostředků