Inleiding tot Azure Event Hubs

Azure Event Hubs is een volledig beheerde, real-time data-inname service die is ontworpen om miljoenen gebeurtenissen per seconde te streamen en te verwerken. Het wordt vaak gebruikt voor het verzamelen van log- en telemetriegegevens van verschillende bronnen zoals applicaties, apparaten en infrastructuur, en kan deze gegevens vervolgens doorsturen naar andere services voor opslag of verdere verwerking.

Event Hubs speelt een cruciale rol in big data architecturen door als een buffer en router te fungeren voor enorme hoeveelheden binnenkomende gegevens, waardoor analyses in real-time mogelijk zijn en vertragingen worden geminimaliseerd.

Belangrijkste functies van Event Hubs

Basisconcepten van Azure Event Hubs

Event Schema

Hieronder vindt u de structuur en de validatieregels voor een JSON-object dat een 'Event' representeert volgens de aangeleverde JSON-schema-definitie. Deze handleiding is bedoeld voor ontwikkelaars en system integrators die werken met de Event datastructuur binnen systemen die gebruikmaken van JSON voor data uitwisseling.

Schema Diagram

event_schema_diagram.png

Schema Overzicht

Eigenschap

Type

Beschrijving

Vereisten

aanvraag

Object

Bevat de aanvraaggegevens

Vereist

aanvraagId

Integer

Unieke ID voor de aanvraag

1000000000 - 9999999999

aansluitingsObjecten

Array

Lijst van aansluitingsobjecten

Unieke items, objectId vereist

objectId

Integer

Unieke ID voor het aansluitingsobject

1000000000 - 9999999999

disciplineIds

Array

Unieke IDs voor de disciplines

1000000000 - 9999999999 (array)

bijlageIds

Array

IDs van bijlagen

1000000000 - 9999999999

operation

String

Operatie die uitgevoerd moet worden

4-64 alfanumerieke tekens of underscores, Vereist

aanvraag Object Structuur

Het aanvraag object is het kernonderdeel van de Event structuur.

aanvraagId

aansluitingsObjecten Array

Structuur van objecten in aansluitingsObjecten

bijlageIds Array

operation String

Beschikbare operaties

Voorbeelden

Voorbeeld 1: Alleen een aanvraagId

{
  "aanvraag": {
    "aanvraagId": 1000000001,
    "aansluitingsObjecten": [],
    "bijlageIds": []
  },
  "operation": "AanvraagIngediend"
}

Voorbeeld 2: Aansluitingsobjecten zonder disciplineIds

{
  "aanvraag": {
    "aanvraagId": 1000000002,
    "aansluitingsObjecten": [
      {
        "objectId": 1000000001
      },
      {
        "objectId": 1000000002
      }
    ],
    "bijlageIds": []
  },
  "operation": "Intake"
}

Voorbeeld 3: Met aansluitingsobjecten en disciplineIds

{
  "aanvraag": {
    "aanvraagId": 1000000003,
    "aansluitingsObjecten": [
      {
        "objectId": 1000000003,
        "disciplineIds": [1000000004, 1000000005]
      },
      {
        "objectId": 1000000004,
        "disciplineIds": [1000000006, 1000000007]
      }
    ],
    "bijlageIds": [1000000008, 1000000009]
  },
  "operation": "OfferteUpdate"
}

JSON Schema

{
    "$id": "<https://example.com/person.schema.json>",
    "$schema": "<https://json-schema.org/draft/2020-12/schema>",
    "type": "object",
    "description": "Event",
    "additionalProperties": false,
    "properties": {
        "aanvraag": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "aanvraagId": {
                    "type": "integer",
                    "minimum": 1000000000,
                    "maximum": 9999999999
                },
                "aansluitingsObjecten": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                            "objectId": {
                                "type": "integer",
                                "minimum": 1000000000,
                                "maximum": 9999999999
                            },
                            "disciplineIds": {
                                "type": "array",
                                "uniqueItems": true,
                                "items": {
                                    "type": "integer",
                                    "minimum": 1000000000,
                                    "maximum": 9999999999
                                }
                            }
                        },
                        "required": [
                            "objectId"
                        ]
                    }
                },
                "bijlageIds": {
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 1000000000,
                        "maximum": 9999999999
                    }
                }
            },
            "required": [
                "aanvraagId"
            ]
        },
        "operation": {
            "type": "string",
              "pattern" : "^[a-zA-Z_]{4,64}$"
        }
    },
    "required": [
        "aanvraag",
        "operation"
    ]
}