التشغيل السريع: طلب رمز SAS لمجموعة STAC

في هذا التشغيل السريع، سوف تسترد رمز SAS المميز على مستوى المجموعة الذي يمكن استخدامه من قبل تطبيقات أخرى للوصول إلى أصول مجموعة STAC في حساب تخزين مدار داخل مورد Microsoft Planetary Computer Pro GeoCatalog.

في بعض التطبيقات، تحتاج إلى تمرير رمز SAS على مستوى المجموعة لتمكين الوصول المصادق عليه إلى الأصول المخزنة في حساب تخزين مدار.

على سبيل المثال، عند استرداد الأصول على مستوى المجموعة مثل بيانات Zarr، يوفر رمز SAS المميز أذونات مؤقتة للوصول إلى البيانات مباشرة من تخزين blob.

يوضح هذا المثال كيفية طلب رمز SAS على مستوى المجموعة من /sas/token/{collection_id} المسار.

1. الحصول على الرمز المميز للوصول للتخويل إلى 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. طلب رمز SAS المميز لمجموعة STAC

الوصول إلى نقطة النهاية التي ترجع رمز SAS المؤقت على مستوى مجموعة 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}")

sas_token يحتوي المتغير على سلسلة الرمز المميز التي يمكنك تمريرها إلى التطبيقات التي تحتاج إلى استرداد الأصول على مستوى المجموعة.