Zum Hauptinhalt springen
Data Operations · NGSI-LD und Stellio

Stellio Delete Subscription

Der Node sendet einen DELETE-Request für eine einzelne Subscription an den Stellio Context Broker. Die Subscription-ID stammt aus der Konfiguration oder aus msg.subscriptionId. Der Status unter dem Node zeigt, ob die Subscription gelöscht wurde oder nicht gefunden werden konnte.

  • Subscriptions
  • Löschen
  • NGSI-LD
Node-Typ
stellio-delete-subscription
Paket
@htag/node-red-contrib-hypertegrity-ngsi-ld
Eingänge / Ausgänge
1 / 1
Ziel
Stellio Context Broker (NGSI-LD)

Wofür Sie den Node verwenden​

Subscriptions, die nicht mehr benötigt werden, erzeugen weiterhin Benachrichtigungen und belasten Broker und Empfänger. Mit diesem Node entfernen Sie eine Subscription gezielt, zum Beispiel beim Abbau eines Datenflusses oder nach einem Wechsel des Benachrichtigungsempfängers.

Typische Einsatzfälle sind:

  • Rückbau: die von Stellio Create Subscription angelegte Subscription beim Entfernen eines Flows löschen.
  • Bereinigung: IDs aus Stellio Get Subscriptions filtern und per msg.subscriptionId nacheinander löschen.
  • Neuanlage: eine fehlerhaft konfigurierte Subscription löschen, bevor sie mit anderen Parametern neu angelegt wird.

So funktioniert der Node​

1

ID bestimmen

msg.subscriptionId oder die konfigurierte Subscription ID legt fest, welche Subscription gelöscht wird.

2

DELETE senden

Der Node ruft /ngsi-ld/v1/subscriptions/<ID> mit dem Header NGSILD-Tenant auf.

3

Antwort ausgeben

Statuscode, Header und ein eventueller Antwortkörper werden in die Nachricht geschrieben; der Status zeigt gelöscht, nicht gefunden oder Fehler.

Ergebnis: Die Subscription ist entfernt; die Nachricht trägt den Statuscode zur weiteren Auswertung.

Der Node ist nachrichtenbasiert und löscht je eingehender Nachricht genau eine Subscription.

Konfiguration​

FeldTypStandardBedeutung
NameTextleerAnzeigename des Nodes im Flow.
NGSILD-TenantText (Pflicht)leerWert des Headers NGSILD-Tenant, zum Beispiel ds_public_parking.
API URLTextleerBasis-URL des Brokers. Bleibt das Feld leer, verwendet der Node die Umgebungsvariable STELLIO_API_URL. Ein Platzhalter ${STELLIO_API_URL} wird von Node-RED ersetzt.
Subscription IDTextleerVollständige URN der zu löschenden Subscription, zum Beispiel urn:ngsi-ld:Subscription:7f3a2c1e-0000-4000-8000-000000000001. Kann leer bleiben, wenn die ID per Nachricht kommt.

Eingang​

EigenschaftTypBedeutung
msg.subscriptionIdTextÜberschreibt die konfigurierte Subscription ID. Fehlen beide, bricht der Node mit einem Fehler ab.
msg.tenantTextÜberschreibt den konfigurierten Tenant.
msg.apiUrlTextÜberschreibt die konfigurierte API URL.
msg.payloadbeliebigWird nicht ausgewertet; die Nachricht dient nur als Auslöser.

Ausgang​

Nach erfolgreichem Löschen antwortet Stellio ohne Inhalt:

{
"statusCode": 204,
"headers": {
"date": "Thu, 01 Oct 2026 06:00:02 GMT"
},
"payload": null
}
FeldBedeutung
msg.statusCodeHTTP-Statuscode der Antwort: 204 gelöscht, 404 nicht gefunden, andere Codes bei Fehlern.
msg.headersAntwort-Header des Brokers.
msg.payloadAntwortkörper als JSON, falls vorhanden (zum Beispiel ein Fehlerobjekt bei 404); bei leerer Antwort null; bei nicht parsbarem Inhalt der Rohtext.

Beispiel-Flow​

Das Paket bringt einen gemeinsamen Beispiel-Flow für mehrere Stellio-Nodes mit. Sie importieren ihn in Node-RED über Menü → Importieren → Beispiele → @htag/node-red-contrib-hypertegrity-ngsi-ld → stellio-helper-nodes. Der Stellio-Delete-Subscription-Node ist darin enthalten, sein Ausgang ist jedoch nicht mit einem Debug-Node verdrahtet; der folgende Ausschnitt zeigt deshalb eine minimale Verdrahtung dieses Nodes. Alternativ laden Sie die Datei stellio-helper-nodes.json herunter und importieren sie über Menü → Importieren.

Schritt 1

Inject

Ein Inject-Node löst das Löschen manuell aus.

Schritt 2

Delete Subscription

Der Node löscht die konfigurierte Subscription im Tenant ds_public_parking. Tragen Sie die ID aus Create Subscription ein.

Schritt 3

Debug

Ein Debug-Node zeigt Statuscode und Antwort an.

Minimale Verdrahtung als JSON anzeigen
[
{"id": "tab1", "type": "tab", "label": "Stellio Helper Nodes", "disabled": false, "info": ""},
{"id": "inject1", "type": "inject", "z": "tab1", "name": "", "props": [{"p": "payload"}], "repeat": "", "once": false, "payload": "", "payloadType": "date", "x": 100, "y": 340, "wires": [["delete1"]]},
{"id": "delete1", "type": "stellio-delete-subscription", "z": "tab1", "name": "", "tenant": "ds_public_parking", "apiUrl": "", "subscriptionId": "urn:ngsi-ld:Subscription:7f3a2c1e-0000-4000-8000-000000000001", "x": 280, "y": 340, "wires": [["debug1"]]},
{"id": "debug1", "type": "debug", "z": "tab1", "name": "Ergebnis", "active": true, "tosidebar": true, "complete": "true", "targetType": "full", "x": 520, "y": 340, "wires": []}
]

Status und Fehler​

AnzeigeBedeutung
Blauer Punkt „deleting...“Der Request läuft.
Grüner Punkt „deleted (204)“Subscription erfolgreich gelöscht.
Gelber Ring „not found (404)“Keine Subscription mit dieser ID im Tenant. Die Nachricht wird trotzdem gesendet.
Roter Ring „error (400)“ (bzw. anderer Statuscode)Der Broker hat mit einem anderen Fehlerstatus geantwortet. Die Nachricht wird trotzdem gesendet.
Roter Ring „missing subscription ID“ mit Fehler „Subscription ID is required“Weder Konfiguration noch msg.subscriptionId enthalten eine ID. Es wird keine Nachricht gesendet.
Roter Ring „error“ mit FehlermeldungNetzwerkfehler, zum Beispiel Broker nicht erreichbar oder ungültige URL. Es wird keine Nachricht gesendet.

Fehler werden über node.error gemeldet und können mit einem Catch-Node abgefangen werden.

Hinweise​

  • Unwiderruflich: Das Löschen kann nicht rückgängig gemacht werden. Bewahren Sie bei Bedarf vorher die Subscription-Definition über Stellio Subscriptions auf.
  • Subscription ID: Verwenden Sie die URN genau so, wie der Broker sie liefert.
  • Authentifizierung: Der Node sendet keine Authentifizierungs-Header; der Zugriff auf den Broker wird über das Netzwerk oder ein vorgeschaltetes Gateway geschützt.
  • Personenbezogene Daten: Der Node verarbeitet nur die Subscription-ID und keine Inhalte von Entitäten.

Weiterführende Themen​

Referenzen​