Python SDK
Διαχειριστείτε τη φιλοξενία σας μέσω Python
Το zinn-sdk είναι ένα typed πρόγραμμα-πελάτης Python για το Zinn Digital® API, το οποίο δημιουργείται από τις ίδιες προδιαγραφές OpenAPI από τις οποίες έχει δημιουργηθεί το API. Κάθε λειτουργία διαθέτει σύγχρονες παραλλαγές και παραλλαγές asyncio, και κάθε αίτημα και απάντηση αποτελεί ένα typed μοντέλο.
Εγκατάσταση
Το πακέτο είναι διαθέσιμο στο 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
Κάθε λειτουργία διαθέτει τις συναρτήσεις 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 και ονομάζονται σύμφωνα με το αναγνωριστικό λειτουργίας τους (operation id) σε μορφή snake case. Για παράδειγμα, η παράθεση ιστοτόπων είναι zinn_sdk.api.hosting.list_sites.
Ποιες εκδόσεις της Python υποστηρίζονται;
Python 3.11 και νεότερες εκδόσεις.
Εξερευνήστε κάθε τελικό σημείο
Κάθε λειτουργία που μπορεί να καλέσει το SDK περιγράφεται στην τεκμηρίωση του API, μαζί με τις παραμέτρους, τις απαντήσεις και τα δικαιώματά της.