Aangepaste onderwerpen publiceren in Azure Event Grid met behulp van toegangssleutels
In dit artikel wordt beschreven hoe u een gebeurtenis plaatst in een aangepast onderwerp met behulp van een toegangssleutel. De indeling van de post- en gebeurtenisgegevens wordt weergegeven. De SLA (Service Level Agreement) is alleen van toepassing op berichten die overeenkomen met de verwachte indeling.
Notitie
Microsoft Entra-verificatie biedt een superieure ondersteuning voor verificatie dan wordt aangeboden door toegangssleutel- of SAS-tokenverificatie (Shared Access Signature). Met Microsoft Entra-verificatie wordt de identiteit gevalideerd op basis van De id-provider van Microsoft Entra. Als ontwikkelaar hoeft u geen sleutels in uw code te verwerken als u Microsoft Entra-verificatie gebruikt. U profiteert ook van alle beveiligingsfuncties die zijn ingebouwd in het Microsoft Identity Platform, zoals voorwaardelijke toegang, waarmee u de beveiligingshouding van uw toepassing kunt verbeteren. Zie Publicerende clients verifiëren met behulp van Microsoft Entra ID voor meer informatie.
Eindpunt
Wanneer u http POST naar een aangepast onderwerp verzendt, gebruikt u de URI-indeling: https://<topic-endpoint>?api-version=2018-01-01
Een geldige URI is bijvoorbeeld: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01
. Als u het eindpunt voor een aangepast onderwerp wilt ophalen met behulp van Azure CLI, gebruikt u:
U vindt het eindpunt van het onderwerp op het tabblad Overzicht van de pagina Event Grid-onderwerp in Azure Portal.
Koptekst
Neem in de aanvraag een headerwaarde aeg-sas-key
op die een sleutel voor verificatie bevat. Een geldige headerwaarde is aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx
bijvoorbeeld . Als u de sleutel voor een aangepast onderwerp wilt ophalen met behulp van Azure CLI, gebruikt u:
Als u de toegangssleutel voor het aangepaste onderwerp wilt ophalen, selecteert u het tabblad Toegangssleutels op de pagina Event Grid-onderwerp in Azure Portal.
Gebeurtenisgegevens
Voor aangepaste onderwerpen bevatten de gegevens op het hoogste niveau dezelfde velden als standaardgebeurtenissen die door resources zijn gedefinieerd. Een van deze eigenschappen is een data
eigenschap die eigenschappen bevat die uniek zijn voor het aangepaste onderwerp. Als gebeurtenisuitgever bepaalt u eigenschappen voor dat gegevensobject. Dit is het schema:
[
{
"id": string,
"eventType": string,
"subject": string,
"eventTime": string-in-date-time-format,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string
}
]
Zie het Gebeurtenisschema van Azure Event Grid voor een beschrijving van deze eigenschappen. Wanneer een client gebeurtenissen naar een Event Grid-onderwerp verzendt, kan de matrix een totale grootte van maximaal 1 MB hebben. De maximale toegestane grootte voor een gebeurtenis is ook 1 MB. Gebeurtenissen van meer dan 64 kB worden in rekening gebracht in stappen van 64 kB. Wanneer een client gebeurtenissen in een batch ontvangt, is het maximaal toegestane aantal gebeurtenissen 5000 per batch.
Een geldig gebeurtenisgegevensschema is bijvoorbeeld:
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0"
}]
De voorbeeldgebeurtenis verzenden
In deze sectie ziet u hoe u een voorbeeldgebeurtenis naar het aangepaste onderwerp verzendt.
Start Cloud Shell in Azure Portal.
Voer in Cloud Shell de opdrachten uit vanuit Azure PowerShell of Azure CLI in de Bash- of PowerShell-sessie.
Respons
Nadat u het onderwerpeindpunt hebt gepost, ontvangt u een antwoord. Het antwoord is een standaard HTTP-antwoordcode. Enkele veelvoorkomende antwoorden zijn:
Resultaat | Respons |
---|---|
Geslaagd | 200 OK |
Gebeurtenisgegevens hebben een onjuiste indeling | 400 Ongeldige aanvraag |
Ongeldige toegangssleutel | 401 Onbevoegd |
Onjuist eindpunt | 404 Niet gevonden |
Matrix of gebeurtenis overschrijdt de groottelimieten | 413 Nettolading te groot |
Voor fouten heeft de hoofdtekst van het bericht de volgende indeling:
{
"error": {
"code": "<HTTP status code>",
"message": "<description>",
"details": [{
"code": "<HTTP status code>",
"message": "<description>"
}]
}
}
Gerelateerde inhoud
- Zie Event Grid-berichtbezorging bewaken voor informatie over het bewaken van gebeurtenisleveringen.
- Zie Event Grid-beveiliging en -verificatie voor meer informatie over de verificatiesleutel.
- Zie het Event Grid-abonnementsschema voor meer informatie over het maken van een Azure Event Grid-abonnement.