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 ដែលបញ្ជូនវាជា 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។ វាគឺជា typed client ដែលបានបង្កើតឡើងពីការបញ្ជាក់ជាក់លាក់ OpenAPI របស់យើង ជាមួយនឹងការហៅស្របគ្នា និង asyncio។
តើចុងបញ្ចប់ដែលបានផ្ដល់ឱ្យស្ថិតនៅកន្លែងណានៅក្នុង Python SDK?
ប្រតិបត្តិការត្រូវបានដាក់ជាក្រុមតាមតំបន់ API នៅក្រោម zinn_sdk.api ហើយត្រូវបានដាក់ឈ្មោះតាមលេខសម្គាល់ប្រតិបត្តិការ (operation id) របស់ពួកគេជា snake case។ ឧទាហរណ៍ ការរាយបញ្ជីគេហទំព័រគឺ zinn_sdk.api.hosting.list_sites។
តើកំណែ Python ណាខ្លះដែលត្រូវបានគាំទ្រ?
Python 3.11 និងថ្មីជាងនេះ។
រុករកគ្រប់ចំណុចចុងក្រោយ
រាល់ប្រតិបត្តិការដែល SDK អាចហៅបាន គឺត្រូវបានពិពណ៌នានៅក្នុងឯកសារយោង API ជាមួយនឹងប៉ារ៉ាម៉ែត្រ ការឆ្លើយតប និងការអនុញ្ញាតរបស់វា។