Azure Event Grid connector
Azure Event Grid connector
The Azure Event Grid name is refused in this build. The connector route and the action route answer 400. Nothing is stored and no rows leave the broker through it.
Use azure_event_hub_producer for Azure event delivery.
flowchart LR Request["connector or action create"] --> Map["KC-00 capability map"] Map -- "azure_event_grid: refused" --> Refuse["400 refusal"] Refuse -- "store nothing" --> Ext["no external system"] Request -- "event hub type" --> Hub["azure_eventhubs sink"] Hub -- "batch send" --> Cloud["event hubs"]Before you start
- Read the action list with
GET /api/v5/action_types. This name stays absent from that list. - Use
azure_event_hub_producerfor Azure event delivery. - No feature flag applies. No build enables a send path for this name.
Settings
This name takes no settings. The broker refuses the create and stores nothing.
| Setting | Required | Meaning |
|---|---|---|
type | yes | It must be azure_event_grid. |
name | yes | Action id. It must not be empty. |
Example:
{ "type": "azure_event_grid", "name": "azure-event-grid-1"}[!NOTE] The docs run sends this shape to both routes. Both routes refuse it and store nothing. No socket opens. See the failure record in Verification failures.
Check that it works
Create the connector and the action. Both routes refuse the name. Both answers print ok.
[node]id = "docs-connector-azure-event-grid"
[listeners.tcp]bind = "0.0.0.0:1883"
[listeners.api]bind = "0.0.0.0:18083"
[logging]level = "warn"
[auth]allow_anonymous = truepython3 - <<'PY'import json, os, urllib.request, urllib.errorport = os.environ.get("API_PORT", "18083")key = os.environ["API_KEY"]def call(method, path, body): data = json.dumps(body).encode() if body is not None else None req = urllib.request.Request( f"http://127.0.0.1:{port}{path}", data=data, method=method, headers={"Authorization": f"Bearer {key}", "Content-Type": "application/json"}) try: with urllib.request.urlopen(req, timeout=5) as res: return res.status, json.load(res) except urllib.error.HTTPError as err: return err.code, json.load(err)s1, b1 = call("POST", "/api/v1/connectors", {"id": "azure-eg-1", "kind": "azure_event_grid", "config": {}})assert s1 == 400, (s1, b1)assert "azure_event_grid" in json.dumps(b1), (s1, b1)s2, b2 = call("POST", "/api/v5/actions", {"type": "azure_event_grid", "name": "azure-event-grid-1"})assert s2 == 400, (s2, b2)assert b2["code"] == "ALREADY_EXISTS", (s2, b2)assert "azure_event_grid" in json.dumps(b2), (s2, b2)print("ok")PYokLimits
POST /api/v1/connectorswith this kind answers 400. The message namesazure_event_gridas an unknown kind.POST /api/v5/actionswith this type answers 400 with codeALREADY_EXISTS. The message namesazure_event_grid. Nothing is stored.GET /api/v5/action_typesomits this name. No runtime stands behind it in this build.- No row leaves the broker through this name. Use
azure_event_hub_producerfor event delivery. - No tier applies. No feature build enables this path.
Next steps
- Send events with Azure Event Hubs.
- Feed actions from a rule in Actions.
- See every kind in Connectors.