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 przewodniku szybkiego startu pobierzesz token SAS na poziomie kolekcji, który może być używany przez inne aplikacje do uzyskiwania dostępu do zasobów kolekcji STAC na zarządzanym koncie magazynu w ramach zasobu Geokatalogu Komputera Planetarnego firmy Microsoft.
W niektórych aplikacjach należy przekazać token SAS na poziomie kolekcji, aby umożliwić uwierzytelniony dostęp do zasobów przechowywanych na zarządzanym koncie pamięci masowej.
Na przykład podczas pobierania zasobów na poziomie kolekcji, takich jak dane Zarr, token SAS zapewnia tymczasowe uprawnienia dostępu do danych bezpośrednio z magazynu blob.
W tym przykładzie pokazano, jak zażądać tokenu SAS na poziomie kolekcji z trasy /sas/token/{collection_id}.
1. Uzyskiwanie tokenu dostępu do autoryzacji w usłudze 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. Żądanie tokenu SAS dla kolekcji STAC
Uzyskaj dostęp do punktu końcowego zwracającego tymczasowy token SAS na poziomie kolekcji 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}")
Zmienna sas_token zawiera ciąg tokenu, który można przekazać do aplikacji, które muszą pobierać zasoby na poziomie kolekcji.