feat: initial commit
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# 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`),
|
||||
> a `apm install` dostarcza 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
|
||||
|
||||
- `AcmeError` pozostaje w `acme.errors`.
|
||||
- Format kluczy API i semantyka retry są niezmienione.
|
||||
|
||||
## Kolejność migracji
|
||||
|
||||
1. Import i konstrukcja klienta.
|
||||
2. Wywołania wysyłki.
|
||||
3. Zarządzanie cyklem życia (`close()` -> `with`).
|
||||
4. Odczyt pól odpowiedzi.
|
||||
Reference in New Issue
Block a user