Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste quickstart, aprende a usar um recurso do Microsoft Planetary Computer Pro GeoCatalog no Azure Batch para processar dados geoespaciais em grande escala.
O Azure Batch é um serviço de agendamento de tarefas baseado na cloud que lhe permite executar cargas de trabalho paralelas em grande escala e computação de alto desempenho (HPC). Ao combinar o Azure Batch com o Microsoft Planetary Computer Pro, pode:
- Processar grandes volumes de dados geoespaciais em paralelo através de múltiplos nós de computação
- Autentifique de forma segura nas APIs do GeoCatalog usando identidades geridas
- Escalar o poder de processamento para cima ou para baixo com base nas exigências de carga de trabalho
- Automatizar pipelines de dados geoespaciais sem gerir a infraestrutura
Este quickstart demonstra como configurar um pool Batch com uma identidade gerida atribuída pelo utilizador, configurar permissões para aceder ao seu GeoCatálogo e executar trabalhos que consultam a API STAC.
Sugestão
Para uma visão geral das opções de desenvolvimento de aplicações com o Microsoft Planetary Computer Pro, consulte Ligar e construir aplicações com os seus dados.
Pré-requisitos
Antes de começar, certifique-se de atender aos seguintes requisitos para concluir este início rápido:
- Uma conta do Azure com uma assinatura ativa. Use o link Criar uma conta gratuitamente.
- Um recurso do Microsoft Planetary Computer Pro GeoCatalog. Uma máquina Linux com as seguintes ferramentas instaladas:
Criar uma conta do Batch
Crie um grupo de recursos:
az group create \
--name spatiobatchdemo \
--location uksouth
Crie uma conta de armazenamento:
az storage account create \
--resource-group spatiobatchdemo \
--name spatiobatchstorage \
--location uksouth \
--sku Standard_LRS
Atribua o Storage Blob Data Contributor ao usuário atual à conta de armazenamento:
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)
Crie uma conta Batch
az batch account create \
--name spatiobatch \
--storage-account spatiobatchstorage \
--resource-group spatiobatchdemo \
--location uksouth
Importante
Verifique se você tem cota suficiente para criar um pool de nós de computador. Se não tiveres quota suficiente, podes solicitar um aumento seguindo as instruções na documentação de quotas e limites do Azure Batch.
Entre na nova conta do Batch executando o seguinte comando:
az batch account login \
--name spatiobatch \
--resource-group spatiobatchdemo \
--shared-key-auth
Depois de autenticar sua conta com o Batch, os comandos subsequentes az batch nesta sessão usam a conta do Batch que você criou.
Crie uma identidade gerenciada atribuída ao usuário:
az identity create \
--name spatiobatchidentity \
--resource-group spatiobatchdemo
Crie um conjunto de nós de computação usando o portal Azure:
- No portal do Azure, navegue até sua conta de Lote e selecione Pools:

- Selecione + Adicionar para criar um novo pool e selecione Atribuído pelo usuário como identidade do pool:

- Selecione a Identidade Gerenciada Atribuída ao Usuário que você criou anteriormente:

- Selecione seu sistema operacional preferido e o tamanho da VM. Nesta demonstração, usamos o Ubuntu Server 20.04 LTS:

- Habilite Iniciar tarefa, defina a seguinte linha de comando:
bash -c "apt-get update && apt-get install jq python3-pip -y && curl -sL https://aka.ms/InstallAzureCLIDeb | bash"e defina Nível de elevação como Usuário automático do pool, Admin:
- Selecione OK para criar o pool.
Atribuir permissões à identidade gerenciada
Você precisa fornecer o acesso de identidade gerenciada ao GeoCatalog. Vá para o seu GeoCatalog, selecione Controle de acesso (IAM) e selecione Adicionar atribuição de função:
Selecione a função apropriada com base em suas necessidades GeoCatalog Administrator ou GeoCatalog Readere selecione Avançar:
Selecione a identidade gerenciada que você criou e, em seguida, selecione Revisar + atribuir.
Prepare o trabalho em lote
Crie um contêiner na conta de armazenamento:
az storage container create \
--name scripts \
--account-name spatiobatchstorage
Carregue o script no contêiner:
az storage blob upload \
--container-name scripts \
--file src/task.py \
--name task.py \
--account-name spatiobatchstorage
Executar as tarefas em lote
Há dois exemplos neste início rápido: um script Python e um script Bash. Você pode usar qualquer um deles para criar um emprego.
Trabalho de script em Python
Para executar o trabalho de script Python, execute os seguintes comandos:
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
A tarefa Python executa o seguinte script em 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))
Que usa DefaultAzureCredential para autenticar com a identidade gerenciada e recupera as coleções do GeoCatalog. Para obter os resultados do trabalho, execute o seguinte comando:
az batch task file download \
--job-id pythonjob1 \
--task-id task1 \
--file-path "stdout.txt" \
--destination /dev/stdout
Tarefa de Bash
Para executar o trabalho de script Bash, execute os seguintes comandos:
geocatalog_url="<geocatalog url>"
cat src/bashjob.json | perl -pe "s,##GEOCATALOG_URL##,$geocatalog_url,g" | az batch job create --json-file /dev/stdin
A tarefa Bash executa o seguinte script 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
Que usa az login --identity para autenticar com a identidade gerenciada e recupera as coleções do GeoCatalog. Para obter os resultados do trabalho, execute o seguinte comando:
az batch task file download \
--job-id bashjob1 \
--task-id task1 \
--file-path "stdout.txt" \
--destination /dev/stdout
Conteúdo relacionado
- Ligue e construa aplicações com os seus dados
- Configurar autenticação de aplicações para o Microsoft Planetary Computer Pro
- Construa uma aplicação web com o Microsoft Planetary Computer Pro
- Utilize o Microsoft Planetary Computer Pro Explorer
- Gerenciar o acesso ao Microsoft Planetary Computer Pro
- Configurar as identidades geridas em conjuntos do Batch
- Copiar aplicações e dados para os nós do pool
- Implementar aplicações para calcular nós com pacotes de aplicações Batch
- Criação e utilização de ficheiros de recursos