Publicera händelser till anpassade Azure Event Grid-ämnen med hjälp av åtkomstnycklar

I den här artikeln beskrivs hur du publicerar en händelse i ett anpassat ämne med hjälp av en åtkomstnyckel. Den visar formatet för post- och händelsedata. Serviceavtal (SLA) gäller endast för inlägg som matchar det förväntade formatet.

Kommentar

Microsoft Entra-autentisering ger ett överlägset autentiseringsstöd än vad som erbjuds av åtkomstnyckel eller SAS-tokenautentisering (Signatur för delad åtkomst). Med Microsoft Entra-autentisering verifieras identiteten mot Microsoft Entra-identitetsprovidern. Som utvecklare behöver du inte hantera nycklar i koden om du använder Microsoft Entra-autentisering. Du kommer också att dra nytta av alla säkerhetsfunktioner som är inbyggda i Microsofts identitetsplattform, till exempel villkorsstyrd åtkomst, som kan hjälpa dig att förbättra programmets säkerhetsställning. Mer information finns i Autentisera publiceringsklienter med Microsoft Entra-ID.

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 Hjälp av 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 Hjälp av Azure PowerShell använder du:

(Get-AzEventGridTopic -ResourceGroupName <topic-resource-group> -Name <topic-name>).Endpoint

I begäran ska du inkludera ett rubrikvärde med namnet aeg-sas-key som innehåller en nyckel för autentisering. Ett giltigt rubrikvärde är aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxxtill exempel . Om du vill hämta nyckeln för ett anpassat ämne med Hjälp av 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 Hjälp av 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 data egenskap som innehåller egenskaper som är unika för det anpassade ämnet. Som händelseutgivare bestämmer du egenskaper för dataobjektet. Här är schemat:

[
  {
    "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 Händelseschema för Azure Event Grid. När händelser skickas 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. När du tar emot händelser i en batch är det maximala tillåtna antalet händelser 5 000 per batch.

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"
}]

Response

När du har publicerat till ämnesslutpunkten får du ett svar. Svaret är en HTTP-standardsvarskod. Några vanliga svar är:

Resultat Response
Klart 200 OK
Händelsedata har felaktigt format 400 – Felaktig begäran
Ogiltig åtkomstnyckel 401 – Ej behörig
Felaktig slutpunkt 404 – Hittades inte
Matris eller händelse överskrider storleksgränserna 413 nyttolast ä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