Python SDK
Python으로 호스팅 제어하기
zinn-sdk는 API를 빌드한 동일한 OpenAPI 사양에서 생성된 Zinn Digital® API용 타입 지정 Python 클라이언트입니다. 모든 작업에는 동기 및 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 키를 사용하며, 이는 베어러 토큰으로 전송됩니다. 키에는 생성 시 부여한 권한만 포함되며, 언제든지 해지할 수 있습니다. 소스 코드에 두지 마시고, 환경 변수나 보안 비밀 저장소에 보관하십시오.
제공 혜택
형식화된 모델
요청과 응답은 타입 힌트가 포함된 attrs 모델이므로, 에디터와 타입 검사기가 모든 필드를 이해할 수 있습니다.
동기화 및 asyncio
각 작업에는 sync, sync_detailed, asyncio 및 asyncio_detailed 함수가 있으며, 작업 이름에 따라 snake case로 명명되고 zinn_sdk.api 아래의 API 영역별로 그룹화되어 있습니다.
사양에서 생성됨
OpenAPI 사양이 변경될 때마다 새 버전이 자동으로 게시됩니다. 생성기가 아직 표현할 수 없는 몇 가지 작업은 배포할 때마다 목록화 및 확인되며, REST API를 통해 계속 사용할 수 있습니다.
비동기 호출
HTTP 상태와 파싱된 응답을 반환하는 asyncio를 사용한 동일한 호출입니다.
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가 있습니까?
예. pip install zinn-sdk를 사용하여 PyPI에서 zinn-sdk를 설치하고 zinn_sdk를 가져오십시오. 이것은 동기 및 asyncio 호출을 지원하며 당사의 OpenAPI 사양에서 생성된 타입 클라이언트입니다.
Python SDK에서 지정된 엔드포인트는 어디에 있습니까?
작업은 zinn_sdk.api 아래의 API 영역별로 그룹화되며 snake case 형식의 작업 ID(operation id)에 따라 이름이 지정됩니다. 예를 들어 사이트 목록 조회는 zinn_sdk.api.hosting.list_sites입니다.
어떤 Python 버전이 지원되나요?
Python 3.11 이상.