Python SDK
ควบคุมโฮสติ้งของคุณผ่าน Python
zinn-sdk เป็นไคลเอนต์ Python แบบกำหนดประเภทสำหรับ Zinn Digital® API ซึ่งสร้างขึ้นจากข้อกำหนด OpenAPI เดียวกันกับที่ใช้สร้าง API ทุกการดำเนินการมีทั้งรูปแบบซิงโครนัสและ 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 ซึ่งจะส่งคีย์ดังกล่าวเป็นโทเค็นผู้ถือ คีย์จะมีเพียงสิทธิ์ที่คุณอนุญาตเมื่อสร้างขึ้นเท่านั้น และคุณสามารถเพิกถอนสิทธิ์ได้ตลอดเวลา โปรดเก็บคีย์ไว้ในตัวแปรสภาพแวดล้อมหรือที่จัดเก็บข้อมูลลับของคุณ และอย่าใส่ไว้ในซอร์สโค้ดโดยเด็ดขาด
สิ่งที่คุณจะได้รับ
โมเดลที่กำหนดประเภท
คำขอและการตอบกลับเป็นโมเดล attrs ที่มีคำแนะนำประเภทข้อมูล ดังนั้นโปรแกรมแก้ไขและตัวตรวจสอบประเภทข้อมูลของคุณจึงเข้าใจทุกช่องข้อมูล
การซิงค์และ asyncio
การดำเนินการแต่ละรายการมีฟังก์ชัน sync, sync_detailed, asyncio และ asyncio_detailed ซึ่งตั้งชื่อตามการดำเนินการในรูปแบบ snake case และจัดกลุ่มตามพื้นที่ API ภายใต้ 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 ซึ่งเป็นไคลเอนต์ที่มีการกำหนดประเภทข้อมูลที่สร้างขึ้นจากข้อกำหนด OpenAPI ของเรา พร้อมการเรียกแบบซิงโครนัสและ asyncio
ตำแหน่งของเอนด์พอยต์ที่กำหนดใน Python SDK อยู่ที่ใด?
การดำเนินการต่าง ๆ จะถูกจัดกลุ่มตามส่วนของ API ภายใต้ zinn_sdk.api และตั้งชื่อตามรหัสการดำเนินการในรูปแบบ snake case ตัวอย่างเช่น การแสดงรายการไซต์คือ zinn_sdk.api.hosting.list_sites
รองรับ Python เวอร์ชันใดบ้าง?
Python 3.11 และใหม่กว่า
สำรวจทุกปลายทาง
ทุกการทำงานที่ SDK สามารถเรียกใช้ได้จะได้รับการอธิบายไว้ในข้อมูลอ้างอิง API พร้อมพารามิเตอร์ การตอบกลับ และสิทธิ์ที่เกี่ยวข้อง