Python SDK
Irányítsa webtárhelyét a Python segítségével
A zinn-sdk egy típusos Python-kliens a Zinn Digital® API-hoz, amely ugyanabból az OpenAPI-specifikációból készült, amelyből az API is felépül. Minden művelet rendelkezik szinkron és asyncio változatokkal, és minden kérés és válasz egy típusos modell.
Telepítés
A csomag a PyPI felületén zinn-sdk néven érhető el, és zinn_sdk néven importálható. Python 3.11 vagy újabb verzió szükséges hozzá.
pip install zinn-sdkGyorsindítás
Listázza a nyilvános tárhelyrégiókat kulcs nélkül, majd listázza a saját webhelyeit egy kulccsal.
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)Hitelesítés
A nyilvános katalógus-végpontok, például a régiók és a csomagok, nem igényelnek hitelesítő adatot. Minden más egy szervezetenkénti API-kulcsot használ, amelyet az AuthenticatedClient kap meg, és tulajdonosi tokennel (bearer token) küldi el. Egy kulcs csak azokat az engedélyeket hordozza, amelyeket a létrehozásakor megad neki, és bármikor visszavonhatja. Környezeti változóban vagy a titkos kulcsok tárolójában tartsa, soha ne a forráskódban.
Mit tartalmaz
Tipizált modellek
A kérések és válaszok típusjavaslatokkal ellátott attrs modellek, így a szerkesztője és a típusellenőrzője minden mezőt megért.
Szinkronizálás és asyncio
Mindegyik művelet rendelkezik sync, sync_detailed, asyncio és asyncio_detailed függvényekkel, amelyek a művelet után kapták nevüket snake case formátumban, és API-terület szerint vannak csoportosítva a zinn_sdk.api alatt.
A specifikációból generálva
Automatikusan megjelenik egy új verzió, valahányszor megváltozik az OpenAPI-specifikáció. Az a néhány művelet, amelyet a generátor még nem képes kifejezni, minden kiadáskor fel van sorolva és ellenőrizve van, és továbbra is elérhető marad a REST API-n keresztül.
Aszinkron hívások
Ugyanez a hívás az asyncio használatával, amely a HTTP-állapotot és az értelmezett választ is visszaadja.
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())Kérdések
Rendelkezik Python SDK-val?
Igen. Telepítse a zinn-sdk csomagot a PyPI-ról a pip install zinn-sdk paranccsal, és importálja a zinn_sdk modult. Ez egy típusos kliens, amelyet az OpenAPI-specifikációnkból hoztunk létre, szinkron és asyncio hívásokkal.
Hol található egy adott végpont a Python SDK-ban?
A műveletek a zinn_sdk.api alatt az API területe szerint vannak csoportosítva, és a műveletazonosítójuk (operation id) alapján, snake case formátumban vannak elnevezve. Például a webhelyek listázása a zinn_sdk.api.hosting.list_sites.
Mely Python-verziók támogatottak?
Python 3.11 és újabb.
Fedezzen fel minden végpontot
Minden művelet, amelyet az SDK meghívhat, le van írva az API-referenciában, a paramétereivel, a válaszaival és a jogosultságaival együtt.