Python SDK

የእርስዎን ሆስቲንግ ከ Python ያንቀሳቅሱ

zinn-sdk ለZinn Digital® ኤፒአይ የተተየበ Python ክላየንት ነው፤ ኤፒአዩ ከተገነባበት ተመሳሳይ የ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 ቁልፍ ይጠቀማል፣ ይህም እንደ ተሸካሚ ቶከን ይልከዋል። አንድ ቁልፍ ሲፈጥሩት የሰጡትን ፈቃዶች ብቻ ይይዛል፣ እና በማንኛውም ጊዜ ሊሰርዙት ይችላሉ። በአካባቢ ተለዋዋጭ ወይም በሚስጥር ማከማቻዎ ውስጥ ያስቀምጡት፣ በፍጹም በምንጭ ኮድ ውስጥ አያስቀምጡት።

በመቆጣጠሪያ ሰሌዳዎ ውስጥ የAPI ቁልፍ ይፍጠሩ

የሚያገኙት

የተተየቡ ሞዴሎች

ጥያቄዎች እና ምላሾች የአይነት ፍንጮች ያላቸው የattrs ሞዴሎች ናቸው፤ ስለዚህ አርታዒዎ እና የአይነት መርማሪዎ እያንዳንዱን መስክ ይረዳሉ።

ማመሳሰል እና asyncio

እያንዳንዱ ክንውን sync፣ sync_detailed፣ asyncio እና asyncio_detailed ተግባራት ያሉት ሲሆን በክንውኑ ስም በ snake case ተሰይመው በ zinn_sdk.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 አለዎት?

አዎ። zinn-sdk ን ከ PyPI በ pip install zinn-sdk ይጫኑ እና zinn_sdk ን ያስመጡ። ከተመሳሳይ ጊዜ እና asyncio ጥሪዎች ጋር ከእኛ OpenAPI ዝርዝር መግለጫ የተፈጠረ በዓይነት የተገለጸ ደንበኛ ነው።

የተወሰነ የመጨረሻ ነጥብ በ Python SDK ውስጥ የት ይገኛል?

ክዋኔዎች በ zinn_sdk.api ስር በኤፒአይ (API) ዘርፍ የተከፋፈሉ ሲሆን በ snake case በተጻፈው የክዋኔ መታወቂያቸው (operation id) መሠረት ተሰይመዋል። ለምሳሌ፣ ድረ-ገጾችን መዘርዘር zinn_sdk.api.hosting.list_sites ነው።

የትኞቹ የ Python ስሪቶች ይደገፋሉ?

Python 3.11 እና ከዚያ በኋላ።

እያንዳንዱን የመጨረሻ ነጥብ ያስሱ

ኤስዲኬው ሊጠራቸው የሚችላቸው እያንዳንዱ ክንውኖች ከነመለኪያዎቻቸው፣ ምላሾቻቸው እና ፈቃዶቻቸው ጋር በኤፒአይ ማመሳከሪያ ውስጥ ተገልጸዋል።

የኤፒአይ ማጣቀሻ