Примеры кода
Python
Пример на стандартной библиотеке Python без дополнительных зависимостей.
Отправка события
HTTPError обрабатывается отдельно, чтобы увидеть тело отказа авторизации.
import json
import os
from urllib.request import Request, urlopen
from urllib.error import HTTPError
request = Request(
"https://api.telemetryapi.org/v1/events",
data=json.dumps({"name": "job.completed", "service": "worker", "value": 1}).encode(),
headers={"Content-Type": "application/json",
"Authorization": "Bearer " + os.getenv("TELEMETRY_TOKEN", "YOUR_TOKEN")},
method="POST",
)
try:
with urlopen(request, timeout=5) as response:
print(response.read().decode())
except HTTPError as error:
print(error.code, error.read().decode())Надёжность
Отправка телеметрии не должна ломать основную операцию. Обрабатывайте сетевые ошибки, ограничивайте очередь и не повторяйте 401 без исправления доступа.