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)Баталгаажуулалт
Бүс нутаг болон багц зэрэг нийтийн каталогийн эцсийн цэгүүдэд ямар ч нэвтрэх эрхийн мэдээлэл шаардлагагүй. Бусад бүх зүйл нь байгууллага тус бүрийн API түлхүүрийг ашигладаг бөгөөд үүнийг AuthenticatedClient-д дамжуулж, тэр нь үүнийг bearer token хэлбэрээр илгээдэг. Түлхүүр нь зөвхөн таныг үүсгэх үедээ олгосон зөвшөөрлийг л агуулдаг бөгөөд та үүнийг хүссэн үедээ цуцлах боломжтой. Үүнийг эх кодонд хэзээ ч бүү хадгал, орчны хувьсагч эсвэл нууц хадгалах сандаа хадгална уу.
Та юу авах вэ
Төрөлжүүлсэн загварууд
Хүсэлт болон хариултууд нь төрлийн сануулга бүхий attrs загварууд тул таны засварлагч болон төрөл шалгагч талбар бүрийг ойлгоно.
Синхрончлол ба asyncio
Үйлдэл бүр нь тухайн үйлдлийн нэрээр snake case хэлбэрээр нэрлэгдсэн, zinn_sdk.api доор API-н талбараар бүлэглэгдсэн sync, sync_detailed, asyncio болон asyncio_detailed функцүүдтэй байна.
Тодорхойлолтоос үүсгэсэн
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 бий юу?
Тийм. PyPI-с zinn-sdk-г pip install zinn-sdk ашиглан суулгаж, zinn_sdk-г импортлоно уу. Энэ нь синхрон болон asyncio дуудлага бүхий манай OpenAPI тодорхойлолтоос үүсгэгдсэн төрөлжүүлсэн хэрэглэгч юм.
Python SDK дотор өгөгдсөн төгсгөлийн цэг хаана байдаг вэ?
Үйлдлүүдийг zinn_sdk.api доор API-ийн бүсээр бүлэглэсэн бөгөөд тэдгээрийн үйлдэлийн id (operation id)-аар snake case хэлбэрээр нэрлэсэн. Жишээлбэл, сайтуудын жагсаалтыг гаргах нь zinn_sdk.api.hosting.list_sites юм.
Python-ийн ямар хувилбаруудыг дэмждэг вэ?
Python 3.11 болон түүнээс хойших хувилбар.
Төгсгөлийн цэг бүрийг судлах
SDK-аас дуудах боломжтой үйлдэл бүрийг параметр, хариу болон зөвшөөрлийн хамт API-ийн лавлахад тайлбарласан болно.