Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym quickstarcie uczysz się, jak używać zasobu Microsoft Planetary Computer Pro GeoCatalog w usłudze Azure Batch do przetwarzania danych geoprzestrzennych na dużą skalę.
Usługa Azure Batch to oparta na chmurze usługa planowania zadań, która umożliwia uruchamianie obciążeń równoległych i obliczeń o wysokiej wydajności (HPC) na dużą skalę. Łącząc usługę Azure Batch z firmą Microsoft Planetary Computer Pro, można wykonywać następujące czynności:
- Przetwarzanie dużych ilości danych geoprzestrzennych równolegle w wielu węzłach obliczeniowych
- Bezpieczne uwierzytelnianie w interfejsach API usługi GeoCatalog przy użyciu tożsamości zarządzanych
- Skalowanie mocy obliczeniowej w górę lub w dół na podstawie wymagań dotyczących obciążeń
- Automatyzowanie potoków danych geoprzestrzennych bez zarządzania infrastrukturą
W tych wskazówkach szybkiego startu demonstruje się, jak skonfigurować pulę Batch z przypisaną przez użytkownika tożsamością zarządzaną, skonfigurować uprawnienia dostępu do GeoCatalog i uruchamiać zadania, które wysyłają zapytania do interfejsu STAC API.
Wskazówka
Aby zapoznać się z omówieniem opcji tworzenia aplikacji za pomocą programu Microsoft Planetary Computer Pro, zobacz Connect and build applications with your data (Łączenie i tworzenie aplikacji przy użyciu danych).
Wymagania wstępne
Przed rozpoczęciem upewnij się, że spełniasz następujące wymagania, aby ukończyć ten szybki przewodnik:
- Konto Azure z aktywną subskrypcją. Użyj linku Utwórz konto bezpłatnie.
- Zasób GeoCatalog z Microsoft Planetary Computer Pro.
Maszyna z systemem Linux z zainstalowanymi następującymi narzędziami:
- Interfejs wiersza polecenia platformy Azure
-
perlpakiet.
Tworzenie konta usługi Batch
Tworzenie grupy zasobów:
az group create \
--name spatiobatchdemo \
--location uksouth
Utwórz konto pamięci masowej
az storage account create \
--resource-group spatiobatchdemo \
--name spatiobatchstorage \
--location uksouth \
--sku Standard_LRS
Przypisz Storage Blob Data Contributor bieżącemu użytkownikowi na koncie magazynu:
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)
Utwórz konto usługi Batch:
az batch account create \
--name spatiobatch \
--storage-account spatiobatchstorage \
--resource-group spatiobatchdemo \
--location uksouth
Ważne
Upewnij się, że masz wystarczający limit przydziału, aby utworzyć pulę węzłów obliczeniowych. Jeśli nie masz wystarczającej ilości zasobów, możesz poprosić o zwiększenie, postępując zgodnie z instrukcjami w dokumentacji limitów i przydziałów usługi Azure Batch.
Zaloguj się do nowego konta usługi Batch, uruchamiając następujące polecenie:
az batch account login \
--name spatiobatch \
--resource-group spatiobatchdemo \
--shared-key-auth
Po uwierzytelnieniu konta w usłudze Batch, kolejne polecenia w tej sesji będą korzystać z utworzonego przez Ciebie konta usługi Batch.
Utwórz tożsamość zarządzaną przypisaną przez użytkownika:
az identity create \
--name spatiobatchidentity \
--resource-group spatiobatchdemo
Utwórz pulę węzłów obliczeniowych przy użyciu witryny Azure Portal:
- W witrynie Azure Portal przejdź do konta usługi Batch i wybierz pozycję Pule:

- Wybierz pozycję + Dodaj , aby utworzyć nową pulę i wybierz pozycję Użytkownik przypisany jako tożsamość puli:

- Wybierz tożsamość zarządzaną przypisaną użytkownikowi, którą utworzyłeś wcześniej:

- Wybierz preferowany system operacyjny i rozmiar maszyny wirtualnej. W tym pokazie używamy systemu Ubuntu Server 20.04 LTS:

- Włącz Uruchom zadanie, ustaw wiersz polecenia na następujący: i ustaw
bash -c "apt-get update && apt-get install jq python3-pip -y && curl -sL https://aka.ms/InstallAzureCLIDeb | bash"na autoużytkownik puli, Administrator: Screenshot of the Start Task configuration page for a Batch pool. The page includes fields to specify a command line script, elevation level, and other settings for initializing compute nodes. - Wybierz przycisk OK , aby utworzyć pulę.
Przypisywanie uprawnień do tożsamości zarządzanej
Musisz podać dostęp tożsamości zarządzanej do usługi GeoCatalog. Przejdź do GeoCatalogu, wybierz pozycję Kontrola dostępu (IAM) i wybierz pozycję Dodaj przypisanie roli:
Wybierz odpowiednią rolę w zależności od potrzeb GeoCatalog Administrator lub GeoCatalog Reader, a następnie wybierz pozycję Dalej:
Wybierz utworzoną tożsamość zarządzaną, a następnie wybierz Przejrzyj + przypisz.
Przygotowywanie zadania usługi Batch
Utwórz kontener na koncie magazynowym
az storage container create \
--name scripts \
--account-name spatiobatchstorage
Przekaż skrypt do kontenera:
az storage blob upload \
--container-name scripts \
--file src/task.py \
--name task.py \
--account-name spatiobatchstorage
Uruchom zadania Batch
W tym szybkim wprowadzeniu przedstawiono dwa przykłady: skrypt języka Python i skrypt Bash. Możesz użyć każdego z nich do utworzenia zadania.
Zadanie skryptu języka Python
Aby wykonać zadanie skryptu języka Python, wykonaj następujące polecenia:
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
Zadanie języka Python wykonuje następujący skrypt języka Python:
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))
Które używa DefaultAzureCredential do uwierzytelniania tożsamości zarządzanej i pobiera kolekcje z GeoCatalog. Aby uzyskać wyniki zadania, wykonaj następujące polecenie:
az batch task file download \
--job-id pythonjob1 \
--task-id task1 \
--file-path "stdout.txt" \
--destination /dev/stdout
Zadanie powłoki Bash
Aby wykonać skrypt Bash, użyj następujących poleceń:
geocatalog_url="<geocatalog url>"
cat src/bashjob.json | perl -pe "s,##GEOCATALOG_URL##,$geocatalog_url,g" | az batch job create --json-file /dev/stdin
Zadanie powłoki Bash wykonuje następujący skrypt powłoki 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
Które używa az login --identity do uwierzytelniania tożsamości zarządzanej i pobiera kolekcje z GeoCatalog. Aby uzyskać wyniki zadania, uruchom następujące polecenie:
az batch task file download \
--job-id bashjob1 \
--task-id task1 \
--file-path "stdout.txt" \
--destination /dev/stdout
Treści powiązane
- Łączenie i tworzenie aplikacji przy użyciu danych
- Konfigurowanie uwierzytelniania aplikacji dla firmy Microsoft Planetary Computer Pro
- Tworzenie aplikacji internetowej za pomocą firmy Microsoft Planetary Computer Pro
- Korzystanie z eksploratora Microsoft Planetary Computer Pro Explorer
- Zarządzanie dostępem do programu Microsoft Planetary Computer Pro
- Konfigurowanie tożsamości zarządzanych w pulach usługi Batch
- Kopiowanie aplikacji i danych do węzłów puli
- Wdrażanie aplikacji na węzłach obliczeniowych za pomocą pakietów aplikacji Batch
- Tworzenie i używanie plików zasobów