Publicera händelser för att Azure Event Grid anpassade ämnen med åtkomstnycklar
Den här artikeln beskriver hur du publicerar en händelse till ett anpassat ämne med hjälp av en åtkomstnyckel. Den visar formatet för post- och händelsedata. Den Serviceavtal (SLA) gäller endast för inlägg som matchar det förväntade formatet.
Anteckning
Azure AD-autentisering ger ett överlägset autentiseringsstöd än vad som erbjuds av åtkomstnyckel- eller SAS-tokenautentisering (signatur för delad åtkomst). Med Azure AD-autentisering verifieras identiteten mot Azure AD-identitetsprovidern. Som utvecklare behöver du inte hantera nycklar i koden om du använder Azure AD-autentisering. Du kan också dra nytta av alla säkerhetsfunktioner som är inbyggda i Microsoft Identity-plattformen, till exempel villkorsstyrd åtkomst, som kan hjälpa dig att förbättra programmets säkerhetssäkerhet. Mer information finns i Autentisera publiceringsklienter med hjälp av Azure Active Directory.
Slutpunkt
När du skickar HTTP POST till ett anpassat ämne använder du URI-formatet: https://<topic-endpoint>?api-version=2018-01-01 .
En giltig URI är till exempel: https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01 .
Om du vill hämta slutpunkten för ett anpassat ämne med Azure CLI använder du:
az eventgrid topic show --name <topic-name> -g <topic-resource-group> --query "endpoint"
Om du vill hämta slutpunkten för ett anpassat ämne med Azure PowerShell använder du:
(Get-AzEventGridTopic -ResourceGroupName <topic-resource-group> -Name <topic-name>).Endpoint
Huvud
Ta med ett huvudvärde med namnet som innehåller aeg-sas-key en nyckel för autentisering i begäran.
Ett giltigt huvudvärde är till exempel aeg-sas-key: VXbGWce53249Mt8wuotr0GPmyJ/nDT4hgdEj9DpBeRr38arnnm5OFg== .
Om du vill hämta nyckeln för ett anpassat ämne med Azure CLI använder du:
az eventgrid topic key list --name <topic-name> -g <topic-resource-group> --query "key1"
Om du vill hämta nyckeln för ett anpassat ämne med PowerShell använder du:
(Get-AzEventGridTopicKey -ResourceGroupName <topic-resource-group> -Name <topic-name>).Key1
Händelsedata
För anpassade ämnen innehåller data på den översta nivån samma fält som standardresursdefinierade händelser. En av dessa egenskaper är en dataegenskap som innehåller egenskaper som är unika för det anpassade ämnet. Som händelseutgivare bestämmer du egenskaperna för det dataobjektet. Använd följande schema:
[
{
"id": string,
"eventType": string,
"subject": string,
"eventTime": string-in-date-time-format,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string
}
]
En beskrivning av dessa egenskaper finns i Azure Event Grid händelseschema . När händelser publiceras till ett Event Grid-ämne kan matrisen ha en total storlek på upp till 1 MB. Den maximala tillåtna storleken för en händelse är också 1 MB. Händelser över 64 kB debiteras i steg om 64 kB.
Ett giltigt händelsedataschema är till exempel:
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0"
}]
Svarsåtgärder
När du har publicerar till ämnesslutpunkten får du ett svar. Svaret är en vanlig HTTP-svarskod. Några vanliga svar är:
| Resultat | Svarsåtgärder |
|---|---|
| Klart | 200 OK |
| Händelsedata har felaktigt format | 400 – Felaktig begäran |
| Ogiltig åtkomstnyckel | 401 – Ej behörig |
| Felaktig slutpunkt | 404 – Hittades inte |
| Matrisen eller händelsen överskrider storleksgränserna | 413 Nyttolasten är för stor |
För fel har meddelandetexten följande format:
{
"error": {
"code": "<HTTP status code>",
"message": "<description>",
"details": [{
"code": "<HTTP status code>",
"message": "<description>"
}]
}
}
Nästa steg
- Information om hur du övervakar händelseleveranser finns i Övervaka Event Grid leverans av meddelanden.
- Mer information om autentiseringsnyckeln finns i Event Grid säkerhet och autentisering.
- Mer information om hur du skapar en Azure Event Grid prenumeration finns i Event Grid prenumerationsschema.