Python-Integration
Senden Sie einen Messwert mit der Python-Standardbibliothek.
Auf dieser Seite
Das benötigen Sie
Python 3, eine numerische Reihe und einen Geräteschlüssel in einer privaten Datei.
So geht es
- Legen Sie eine Gauge-Reihe an und speichern Sie ihren Geräteschlüssel mit privaten Dateirechten unter ~/.config/metribeacon/device.key.
- Ersetzen Sie die Reihenkennung im Beispiel durch Ihre eigene. Bereiten Sie Wert, Zeitpunkt und Kennungen einmal pro Messung vor.
- Führen Sie das Beispiel aus und prüfen Sie accepted oder duplicates in der Antwort. Kontrollieren Sie den Messwert im Monitor.
Gut zu wissen
Das Beispiel begrenzt die Anfragezeit. Ergänzen Sie bei vorübergehenden Fehlern begrenzte Wiederholungen mit Retry-After und derselben vorbereiteten Anfrage. Eine neue Kennung bedeutet eine neue Messung.
import datetime
import json
import pathlib
import urllib.request
import uuid
key = pathlib.Path.home().joinpath(".config/metribeacon/device.key").read_text().strip()
batch = {"batch_id": str(uuid.uuid4()), "points": [{
"id": str(uuid.uuid4()), "series_id": "33333333-3333-4333-8333-333333333333",
"measured_at": datetime.datetime.now(datetime.timezone.utc).isoformat(),
"value": 21.5}]}
body = json.dumps(batch).encode()
request = urllib.request.Request("https://metribeacon.com/api/v1/ingest/points",
data=body, method="POST", headers={"Authorization": "Bearer " + key,
"Content-Type": "application/json"})
with urllib.request.urlopen(request, timeout=15) as response:
print(json.load(response))Wenn etwas nicht klappt
Prüfen Sie HTTP-Fehler, bevor Sie die Antwort als Erfolg lesen. Beheben Sie 401, 403, 413 oder 422 vor einer Wiederholung; geben Sie den Schlüssel nicht zur Diagnose aus.
Verwandte Anleitungen
- Eigene Monitoring-Daten senden
Senden Sie eigene Werte über HTTPS mit den Kennungen und Schlüsseln Ihres Monitors.
- Kontingente und faire Nutzung
Planen Sie Ihr Monitoring innerhalb der gemeinsamen Kontolimits.