Python SDK
Quản lý dịch vụ lưu trữ của quý khách từ Python
zinn-sdk là một ứng dụng khách Python có định kiểu cho Zinn Digital® API, được tạo từ cùng một đặc tả OpenAPI mà API này được xây dựng từ đó. Mỗi thao tác đều có các biến thể đồng bộ và asyncio, và mỗi yêu cầu cũng như phản hồi đều là một mô hình có định kiểu.
Cài đặt
Gói này có trên PyPI dưới tên zinn-sdk và được nhập dưới dạng zinn_sdk. Gói này yêu cầu Python 3.11 trở lên.
pip install zinn-sdkBắt đầu nhanh
Liệt kê các khu vực lưu trữ công khai mà không cần khóa, sau đó liệt kê các trang web của riêng bạn bằng một khóa.
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)Xác thực
Các điểm cuối danh mục công khai, chẳng hạn như khu vực và gói dịch vụ, không cần thông tin xác thực. Mọi thứ khác đều sử dụng khóa API theo từng tổ chức được chuyển tới AuthenticatedClient, nơi sẽ gửi khóa này dưới dạng mã thông báo mang. Khóa chỉ mang các quyền mà bạn cấp khi tạo khóa và bạn có thể thu hồi khóa bất cứ lúc nào. Hãy lưu giữ khóa trong biến môi trường hoặc kho lưu trữ bí mật của bạn, tuyệt đối không để trong mã nguồn.
Những gì bạn nhận được
Mô hình đã định kiểu
Yêu cầu và phản hồi là các mô hình attrs có gợi ý kiểu, vì vậy trình soạn thảo và công cụ kiểm tra kiểu của bạn hiểu rõ từng trường.
Đồng bộ hóa và asyncio
Mỗi thao tác đều có các hàm sync, sync_detailed, asyncio và asyncio_detailed, được đặt tên theo thao tác theo kiểu snake case và được nhóm theo khu vực API trong zinn_sdk.api.
Được tạo từ thông số kỹ thuật
Phiên bản mới sẽ được tự động xuất bản mỗi khi thông số kỹ thuật OpenAPI thay đổi. Một số ít thao tác mà trình tạo chưa thể biểu đạt sẽ được liệt kê và kiểm tra trong mỗi bản phát hành, đồng thời vẫn khả dụng thông qua REST API.
Các lệnh gọi bất đồng bộ
Cùng một lệnh gọi với asyncio, trả về trạng thái HTTP cũng như phản hồi đã phân tích cú pháp.
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())Câu hỏi
Quý vị có Python SDK không?
Có. Cài đặt zinn-sdk từ PyPI bằng pip install zinn-sdk và nhập zinn_sdk. Đây là ứng dụng khách có định kiểu được tạo từ đặc tả OpenAPI của chúng tôi, với các lệnh gọi đồng bộ và asyncio.
Một điểm cuối cụ thể nằm ở đâu trong Python SDK?
Các thao tác được nhóm theo khu vực API trong zinn_sdk.api và được đặt tên theo mã định danh thao tác của chúng theo kiểu snake case. Ví dụ: việc liệt kê các trang web là zinn_sdk.api.hosting.list_sites.
Những phiên bản Python nào được hỗ trợ?
Python 3.11 trở lên.
Khám phá mọi điểm cuối
Mọi thao tác mà SDK có thể gọi đều được mô tả trong tài liệu tham khảo API, cùng với các tham số, phản hồi và quyền hạn của thao tác đó.