Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
In deze quickstart leert u hoe u een Microsoft Planetary Computer Pro GeoCatalog-resource in Azure Batch gebruikt om georuimtelijke gegevens op schaal te verwerken.
Azure Batch is een cloudservice voor het plannen van taken waarmee u grootschalige parallelle en HPC-workloads (High Performance Computing) kunt uitvoeren. Door Azure Batch te combineren met Microsoft Planetary Computer Pro, kunt u het volgende doen:
- Grote hoeveelheden georuimtelijke gegevens parallel verwerken op meerdere rekenknooppunten
- Veilig verifiëren bij GeoCatalog-API's met behulp van beheerde identiteiten
- Verwerkingskracht omhoog of omlaag schalen op basis van de werkbelastingvereisten
- Georuimtelijke gegevenspijplijnen automatiseren zonder infrastructuur te beheren
In deze quickstart ziet u hoe u een Batch-pool instelt met een door de gebruiker toegewezen beheerde identiteit, machtigingen configureert voor toegang tot uw GeoCatalog en taken uitvoert die een query uitvoeren op de STAC-API.
Aanbeveling
Zie Toepassingen verbinden en bouwen met uw gegevens voor een overzicht van de opties voor toepassingsontwikkeling met Microsoft Planetary Computer Pro.
Vereiste voorwaarden
Voordat u begint, moet u voldoen aan de volgende vereisten om deze quickstart te voltooien:
- Een Azure-account met een actief abonnement. Gebruik de koppeling Gratis een account maken.
- Een Microsoft Planetary Computer Pro GeoCatalog-resource.
Een Linux-computer waarop de volgende hulpprogramma's zijn geïnstalleerd:
- Azure-CLI
-
perlpakket.
Een Batch-account maken
Een resourcegroep maken:
az group create \
--name spatiobatchdemo \
--location uksouth
Een opslagaccount maken:
az storage account create \
--resource-group spatiobatchdemo \
--name spatiobatchstorage \
--location uksouth \
--sku Standard_LRS
Wijs de Storage Blob Data Contributor huidige gebruiker toe aan het opslagaccount:
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)
Een Batch-account maken:
az batch account create \
--name spatiobatch \
--storage-account spatiobatchstorage \
--resource-group spatiobatchdemo \
--location uksouth
Belangrijk
Zorg ervoor dat u voldoende quotum hebt om een groep computerknooppunten te maken. Als u onvoldoende quotum hebt, kunt u een verhoging aanvragen door de instructies in de documentatie over quota en limieten van Azure Batch te volgen.
Meld u aan bij het nieuwe Batch-account door de volgende opdracht uit te voeren:
az batch account login \
--name spatiobatch \
--resource-group spatiobatchdemo \
--shared-key-auth
Zodra u uw account met Batch hebt geverifieerd, gebruiken volgende az batch opdrachten in deze sessie het Batch-account dat u hebt gemaakt.
Een door de gebruiker toegewezen beheerde identiteit maken:
az identity create \
--name spatiobatchidentity \
--resource-group spatiobatchdemo
Maak een pool met rekenknooppunten met behulp van Azure Portal:
- Navigeer in Azure Portal naar uw Batch-account en selecteer Pools:

- Selecteer + Toevoegen om een nieuwe pool te maken en selecteer Door de gebruiker toegewezen als de identiteit van de pool:

- Selecteer de door de gebruiker toegewezen beheerde identiteit die u eerder hebt gemaakt:

- Selecteer uw voorkeursbesturingssysteem en VM-grootte. In deze demo gebruiken we Ubuntu Server 20.04 LTS:

- Schakel Starttaak in, stel de volgende opdrachtregel in:
bash -c "apt-get update && apt-get install jq python3-pip -y && curl -sL https://aka.ms/InstallAzureCLIDeb | bash"en stel het niveau Benodigde bevoegdheden in op Pool autouser, Beheerder:
- Selecteer OK om de pool te maken.
Machtigingen toewijzen aan de beheerde identiteit
U moet de beheerde identiteit toegang geven tot het GeoCatalog. Ga naar uw GeoCatalog, selecteer toegangsbeheer (IAM) en selecteer Roltoewijzing toevoegen:
Selecteer de juiste rol op basis van uw behoeften of GeoCatalog AdministratorGeoCatalog Readerselecteer Volgende:
Selecteer de beheerde identiteit die u hebt gemaakt en selecteer vervolgens Beoordelen en toewijzen.
De Batch-taak voorbereiden
Maak een container in het opslagaccount:
az storage container create \
--name scripts \
--account-name spatiobatchstorage
Upload het script naar de container:
az storage blob upload \
--container-name scripts \
--file src/task.py \
--name task.py \
--account-name spatiobatchstorage
De Batch-taken uitvoeren
Deze quickstart bevat twee voorbeelden: een Python-script en een Bash-script. U kunt een van beide gebruiken om een taak te maken.
Python-script-taak
Voer de volgende opdrachten uit om de Python-scripttaak uit te voeren:
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
De Python-taak voert het volgende Python-script uit:
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))
Dit maakt gebruik DefaultAzureCredential van verificatie met de beheerde identiteit en haalt de verzamelingen op uit het GeoCatalog. Voer de volgende opdracht uit om de resultaten van de taak op te halen:
az batch task file download \
--job-id pythonjob1 \
--task-id task1 \
--file-path "stdout.txt" \
--destination /dev/stdout
Bash-taak
Voer de volgende opdrachten uit om de Bash-scripttaak uit te voeren:
geocatalog_url="<geocatalog url>"
cat src/bashjob.json | perl -pe "s,##GEOCATALOG_URL##,$geocatalog_url,g" | az batch job create --json-file /dev/stdin
De Bash-taak voert het volgende Bash-script uit:
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
Dit maakt gebruik az login --identity van verificatie met de beheerde identiteit en haalt de verzamelingen op uit het GeoCatalog. Voer de volgende opdracht uit om de resultaten van de taak op te halen:
az batch task file download \
--job-id bashjob1 \
--task-id task1 \
--file-path "stdout.txt" \
--destination /dev/stdout
Verwante inhoud
- Toepassingen verbinden en bouwen met uw gegevens
- Toepassingsverificatie configureren voor Microsoft Planetary Computer Pro
- Een webtoepassing bouwen met Microsoft Planetary Computer Pro
- Microsoft Planetary Computer Pro Explorer gebruiken
- Toegang tot Microsoft Planetary Computer Pro beheren
- Beheerde identiteiten configureren in Batch-groepen
- Toepassingen en gegevens kopiëren naar poolknooppunten
- Toepassingen implementeren op rekenknooppunten met Batch-toepassingspakketten
- Resourcebestanden maken en gebruiken