Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste início rápido, você aprenderá a usar um recurso do Microsoft Planetary Computer Pro GeoCatalog no Lote do Azure para processar dados geoespaciais em escala.
O Lote do Azure é um serviço de agendamento de trabalho baseado em nuvem que permite executar cargas de trabalho HPC (computação paralela e de alto desempenho) em larga escala. Combinando o Azure Batch com o Microsoft Planetary Computer Pro, você pode:
- Processar grandes volumes de dados geoespaciais em paralelo entre vários nós de computação
- Autenticar com segurança nas APIs do GeoCatalog usando identidades gerenciadas
- Aumentar ou reduzir a potência de processamento com base nas demandas de trabalho.
- Automatizar pipelines de dados geoespaciais sem gerenciar a infraestrutura
Guia de início rápido demonstra como configurar um pool Batch com uma identidade gerenciada atribuída pelo usuário, configurar permissões para acessar o GeoCatalog e executar trabalhos que fazem consultas à API STAC.
Dica
Para obter uma visão geral das opções de desenvolvimento de aplicativos com o Microsoft Planetary Computer Pro, consulte Conectar e criar aplicativos com seus dados.
Pré-requisitos
Antes de começar, verifique se você atende 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.
Um computador Linux com as seguintes ferramentas instaladas:
- Azure CLI
-
perlpacote
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 para o 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)
Criar uma conta do 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 você não tiver cota suficiente, poderá solicitar um aumento seguindo as instruções na documentação de cotas e limites do Azure Batch.
Faça login 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 usarão a conta do Batch que você criou.
Criar uma identidade gerenciada atribuída pelo usuário:
az identity create \
--name spatiobatchidentity \
--resource-group spatiobatchdemo
Crie um pool de nós de computação usando o portal do Azure:
- No portal do Azure, navegue até sua conta do Lote e selecione Pools:

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

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

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

- Habilite a Tarefa Iniciar, defina a seguintelinha de comando:
bash -c "apt-get update && apt-get install jq python3-pip -y && curl -sL https://aka.ms/InstallAzureCLIDeb | bash"e defina o Nível de elevação para Usuário automático do pool, Administrador:
- Selecione OK para criar o pool.
Atribuir permissões à identidade gerenciada
Você precisa fornecer o acesso de identidade gerenciada ao GeoCatalog. Vá para o GeoCatalog, selecione no 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 Readerselecione Avançar:
Selecione a identidade gerenciada que você criou e selecione Examinar + atribuir.
Preparar 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 trabalho.
Tarefa de script 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:
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
Trabalho do 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
- Conectar e criar aplicativos com seus dados
- Configurar a autenticação de aplicativo para o Microsoft Planetary Computer Pro
- Criar um aplicativo Web com o Microsoft Planetary Computer Pro
- Usar o Explorer do Computador Planetário Pro da Microsoft
- Gerenciar o acesso ao Microsoft Planetary Computer Pro
- Configurar identidades gerenciadas em pools do Lote
- Copiar aplicativos e dados para nós de pool
- Implantar aplicativos em nós de computação com pacotes de aplicativos do Lote
- Criando e usando arquivos de recurso