Python SDK
Python बाट आफ्नो होस्टिङ व्यवस्थापन गर्नुहोस्
zinn-sdk Zinn Digital® API का लागि एक टाइप गरिएको Python क्लाइन्ट हो, जुन API निर्माण गरिएको उही OpenAPI विशिष्टताबाट सिर्जना गरिएको हो। प्रत्येक सञ्चालनमा सिङ्क्रोनस र asyncio प्रकारहरू हुन्छन्, र प्रत्येक अनुरोध र प्रतिक्रिया एक टाइप गरिएको मोडेल हो।
स्थापना गर्नुहोस्
यो प्याकेज PyPI मा zinn-sdk को रूपमा उपलब्ध छ र zinn_sdk को रूपमा आयात गरिन्छ। यसको लागि Python 3.11 वा पछिल्लो संस्करण आवश्यक पर्दछ।
pip install zinn-sdkद्रुत सुरुआत
कुञ्जी बिना सार्वजनिक होस्टिङ क्षेत्रहरू सूचीबद्ध गर्नुहोस्, त्यसपछि कुञ्जी प्रयोग गरी आफ्नै साइटहरू सूचीबद्ध गर्नुहोस्।
import os
from zinn_sdk import AuthenticatedClient, Client
from zinn_sdk.api.catalog import list_public_hosting_regions
from zinn_sdk.api.hosting import list_sites
# Public catalogue endpoints need no key.
public = Client(base_url="https://api.zinndigital.com")
regions = list_public_hosting_regions.sync(client=public)
print([region.slug for region in regions.data])
# Everything else uses a per-organisation API key.
api = AuthenticatedClient(base_url="https://api.zinndigital.com", token=os.environ["ZINN_API_KEY"])
page = list_sites.sync(client=api, limit=5)
for site in page.data:
print(site.name, site.status)प्रमाणीकरण
क्षेत्रहरू र योजनाहरू जस्ता सार्वजनिक क्याटलग एन्डपोइन्टहरूलाई कुनै प्रमाणको आवश्यकता पर्दैन। अन्य सबैले AuthenticatedClient मा पठाइएको प्रति-संस्था API कुञ्जी प्रयोग गर्दछ, जसले यसलाई बियरर टोकनको रूपमा पठाउँछ। कुञ्जीले तपाईंले यसलाई सिर्जना गर्दा प्रदान गर्नुभएको अनुमतिहरू मात्र बोक्दछ, र तपाईं यसलाई जुनसुकै बेला रद्द गर्न सक्नुहुन्छ। यसलाई वातावरणीय चर वा तपाईंको गोप्य भण्डारमा राख्नुहोस्, स्रोत कोडमा कहिल्यै नराख्नुहोस्।
तपाईंले के पाउनुहुन्छ
टाइप गरिएका मोडेलहरू
अनुरोध र प्रतिक्रियाहरू प्रकार सङ्केतहरू भएका attrs मोडेलहरू हुन्, त्यसैले तपाईंको सम्पादक र तपाईंको प्रकार परीक्षकले प्रत्येक क्षेत्र बुझ्छन्।
सिङ्क र asyncio
प्रत्येक अपरेसनमा sync, sync_detailed, asyncio र asyncio_detailed प्रकार्यहरू हुन्छन्, जसको नाम अपरेसनको आधारमा snake case मा राखिएको छ र zinn_sdk.api अन्तर्गत API क्षेत्र अनुसार समूहीकृत गरिएको छ।
निर्दिष्टीकरणबाट सिर्जना गरिएको
OpenAPI विनिर्देश परिवर्तन हुँदा हरेक पटक नयाँ संस्करण स्वचालित रूपमा प्रकाशित हुन्छ। जेनेरेटरले अझै अभिव्यक्त गर्न नसकेका केही कार्यहरू प्रत्येक रिलीजमा सूचीबद्ध र जाँच गरिन्छ, र REST API मार्फत उपलब्ध रहन्छन्।
असिन्क्रोनस कलहरू
asyncio सँग उही कल, जसले HTTP स्थिति र पार्स गरिएको प्रतिक्रिया फर्काउँछ।
import asyncio
from zinn_sdk.api.hosting import list_sites
# Every operation has sync, sync_detailed, asyncio and asyncio_detailed variants.
async def main() -> None:
response = await list_sites.asyncio_detailed(client=api, limit=5)
print(response.status_code, len(response.parsed.data))
asyncio.run(main())प्रश्नहरू
के तपाईंसँग Python SDK छ?
हो। pip install zinn-sdk मार्फत PyPI बाट zinn-sdk स्थापना गर्नुहोस् र zinn_sdk आयात गर्नुहोस्। यो समकालिक र asyncio कलहरूसहित हाम्रो OpenAPI विशिष्टताबाट सिर्जना गरिएको टाइप गरिएको क्लाइन्ट हो।
Python SDK मा दिइएको अन्तिम बिन्दु कहाँ छ?
अपरेशनहरूलाई zinn_sdk.api अन्तर्गत API क्षेत्र अनुसार समूहबद्ध गरिएको छ र तिनीहरूको अपरेशन आइडी (operation id) अनुसार snake case मा नामाकरण गरिएको छ। उदाहरणका लागि, साइटहरू सूचीकरण गर्नु zinn_sdk.api.hosting.list_sites हो।
कुन Python संस्करणहरू समर्थित छन्?
Python 3.11 र नयाँ संस्करणहरू।
प्रत्येक अन्तिम बिन्दु अन्वेषण गर्नुहोस्
SDK ले कल गर्न सक्ने प्रत्येक अपरेसनलाई यसका प्यारामिटरहरू, प्रतिक्रियाहरू र अनुमतिहरूसहित API सन्दर्भमा वर्णन गरिएको छ।