Compartilhar via


Início Rápido: Solicitar um token SAS da coleção STAC

Neste início rápido, você recuperará um token SAS de nível de coleção que pode ser usado por outros aplicativos para acessar ativos de coleção STAC em uma conta de armazenamento gerenciada em um recurso do Microsoft Planetary Computer Pro GeoCatalog.

Em alguns aplicativos, você precisa passar um token SAS no nível da coleção para habilitar o acesso autenticado aos ativos armazenados em uma conta de armazenamento gerenciada.

Por exemplo, ao recuperar ativos no nível da coleção, como dados Zarr, um token SAS fornece permissões temporárias para acessar os dados diretamente do armazenamento de blobs.

Este exemplo mostra como solicitar um token SAS no nível da coleção da rota /sas/token/{collection_id}.

1. Obter token de acesso para autorização em um GeoCatalog

from datetime import datetime, timedelta
import requests
from azure.identity import AzureCliCredential

# Resource ID for Planetary Computer Pro Geocatalog
MPCPRO_APP_ID = "https://geocatalog.spatio.azure.com"

_access_token = None

def getBearerToken():
    global _access_token
    if not _access_token or datetime.fromtimestamp(_access_token.expires_on) < datetime.now() + timedelta(minutes=5):
        credential = AzureCliCredential()
        _access_token = credential.get_token(f"{MPCPRO_APP_ID}/.default")

    return {"Authorization": f"Bearer {_access_token.token}"}

2. Solicitar um token SAS para uma coleção STAC

Acesse o ponto de extremidade que retorna o token SAS temporário no nível da coleção STAC.

geocatalog_url = "<your-geocatalog-url>"
collection_id = "<your-collection-id>"

response = requests.get(
        f"{geocatalog_url}/sas/token/{collection_id}",
        headers=getBearerToken(),
        params={"api-version": "2025-04-30-preview"}
    )

sas_token = response.json()["token"]

print(f"SAS Token: {sas_token}")

A variável sas_token contém a cadeia de caracteres de token que você pode passar para aplicativos que precisam recuperar ativos no nível da coleção.