Compartir a través de


Inicio rápido: solicitud de un token de SAS de colección STAC

En este inicio rápido, recuperará un token saS de nivel de colección que otras aplicaciones pueden usar para acceder a los recursos de recopilación de STAC en una cuenta de almacenamiento administrada dentro de un recurso GeoCatalog de Microsoft Planetary Computer Pro.

En algunas aplicaciones, debe pasar un token de SAS de nivel de colección para habilitar el acceso autenticado a los recursos almacenados en una cuenta de almacenamiento administrada.

Por ejemplo, al recuperar recursos de nivel de colección como los datos de Zarr, un token de SAS proporciona permisos temporales para acceder a los datos directamente desde Blob Storage.

En este ejemplo se muestra cómo solicitar un token saS de nivel de colección desde la /sas/token/{collection_id} ruta.

1. Obtención del token de acceso para la autorización en un 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 un token de SAS para una colección de STAC

Acceda al punto de conexión que devuelve el token de SAS de nivel de colección STAC temporal.

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}")

La variable sas_token contiene una cadena de tokens que se puede pasar a aplicaciones que necesitan recuperar recursos a nivel de colección.