1.1 KiB
1.1 KiB
acme-sdk: migracja 1.x -> 2.x
Przykładowa notatka migracyjna. W realnym wdrożeniu ten katalog zasila pakiet APM utrzymywany przez zespół właściciela SDK (np.
pubi/apm-packages/acme-sdk-migrations), aapm installdostarcza go do joba CI z pinem po tagu.
Zmiany łamiące kompatybilność
| 1.x | 2.x | Uwagi |
|---|---|---|
from acme import Client |
from acme import AcmeClient |
zmiana wyłącznie nazwy |
Client(api_key=..., endpoint=...) |
AcmeClient(api_key=..., base_url=...) |
endpoint -> base_url |
client.send(to=..., body=...) |
client.messages.create(recipient=..., content=...) |
wysyłka przez sub-resource |
client.close() |
with AcmeClient(...) as client: |
klient jest context managerem |
zwracany dict z kluczem id |
obiekt Message z atrybutem .id |
dostęp msg["id"] -> msg.id |
Bez zmian
AcmeErrorpozostaje wacme.errors.- Format kluczy API i semantyka retry są niezmienione.
Kolejność migracji
- Import i konstrukcja klienta.
- Wywołania wysyłki.
- Zarządzanie cyklem życia (
close()->with). - Odczyt pól odpowiedzi.