Hızlı Başlatma: STAC koleksiyonu SAS jetonu isteme

Bu hızlı başlangıçta, Microsoft Planetary Computer Pro GeoCatalog kaynağındaki yönetilen bir depolama hesabındaki STAC koleksiyon varlıklarına erişmek için diğer uygulamalar tarafından kullanılabilecek koleksiyon düzeyinde bir SAS belirteci alacaksınız.

Bazı uygulamalarda, yönetilen depolama hesabında depolanan varlıklara kimliği doğrulanmış erişimi etkinleştirmek için koleksiyon düzeyinde sas belirteci geçirmeniz gerekir.

Örneğin, Zarr verileri gibi koleksiyon düzeyi varlıkları alırken SAS belirteci verilere doğrudan blob depolamadan erişmek için geçici izinler sağlar.

Bu örnek, c0 yolu üzerinden koleksiyon düzeyinde bir SAS belirtecinin nasıl isteneceğini göstermektedir.

1. GeoCatalog'a Yetkilendirme için Erişim Belirteci Alma

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. STAC Koleksiyonu için SAS Token İsteme

Geçici STAC koleksiyon düzeyi SAS belirtecinizi döndüren uç noktaya erişin.

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

Değişken, sas_token koleksiyon düzeyinde varlıkları alması gereken uygulamalara geçirebileceğiniz belirteç dizesini içerir.